Size: a a a

Laravel для начинающих

2021 January 22

ПЛ

Павел Ланчев... in Laravel для начинающих
Добрый день

Такой вопрос возник. Есть класс наследованный от FormRequest

final class BazRequest extends FormRequest
{
   protected function prepareForValidation(): void
   {
       $this->merge(['bar' => 1]);
   }


   public function rules(): array
   {
       return [
           'bar' => ['required', 'integer'],
            //...
       ];
   }

   public function getDto(): FooDto
   {
       return new FooDto($this->get('bar'));
   }
}

И класс FooDto

final class FooDto
{
   public function __construct(int $bar)
   {
        //....
   }
}

Валидация проходит, но в конструктор FooDto приходит null
Как это поправить?
источник

AP

Alexander Pavlenko 🌚... in Laravel для начинающих
а что должно приходить?
источник

AB

Alex B in Laravel для начинающих
Павел Ланчев
Добрый день

Такой вопрос возник. Есть класс наследованный от FormRequest

final class BazRequest extends FormRequest
{
   protected function prepareForValidation(): void
   {
       $this->merge(['bar' => 1]);
   }


   public function rules(): array
   {
       return [
           'bar' => ['required', 'integer'],
            //...
       ];
   }

   public function getDto(): FooDto
   {
       return new FooDto($this->get('bar'));
   }
}

И класс FooDto

final class FooDto
{
   public function __construct(int $bar)
   {
        //....
   }
}

Валидация проходит, но в конструктор FooDto приходит null
Как это поправить?
ты все твои реквесты наследуешь от БазРеквест?
источник

ПЛ

Павел Ланчев... in Laravel для начинающих
Alexander Pavlenko 🌚
а что должно приходить?
$this->merge(['bar' => 1]);
источник

ПЛ

Павел Ланчев... in Laravel для начинающих
Alex B
ты все твои реквесты наследуешь от БазРеквест?
да
источник

ПЛ

Павел Ланчев... in Laravel для начинающих
а стоп
источник

ПЛ

Павел Ланчев... in Laravel для начинающих
нет
источник

AB

Alex B in Laravel для начинающих
поменяй родителя
источник

ПЛ

Павел Ланчев... in Laravel для начинающих
Это конкретный вариант
источник

ПЛ

Павел Ланчев... in Laravel для начинающих
Alex B
поменяй родителя
Не очень понимаю. Я же наследуюсь от FormRequest родного
источник

AB

Alex B in Laravel для начинающих
Павел Ланчев
Это конкретный вариант
аа, понял, зачем файнал?
источник

ПЛ

Павел Ланчев... in Laravel для начинающих
привычка
источник

AB

Alex B in Laravel для начинающих
попробуй инпутом взять
источник

AP

Alexander Pavlenko 🌚... in Laravel для начинающих
Павел Ланчев
$this->merge(['bar' => 1]);
с чего ты взял что оно должно в конструктор приходить?
источник

AB

Alex B in Laravel для начинающих
Павел Ланчев
привычка
??
источник

ПЛ

Павел Ланчев... in Laravel для начинающих
все классы final или abstract
источник

ПЛ

Павел Ланчев... in Laravel для начинающих
Alexander Pavlenko 🌚
с чего ты взял что оно должно в конструктор приходить?
с того что валидацию это поле проходит?
источник

AB

Alex B in Laravel для начинающих
Павел Ланчев
Добрый день

Такой вопрос возник. Есть класс наследованный от FormRequest

final class BazRequest extends FormRequest
{
   protected function prepareForValidation(): void
   {
       $this->merge(['bar' => 1]);
   }


   public function rules(): array
   {
       return [
           'bar' => ['required', 'integer'],
            //...
       ];
   }

   public function getDto(): FooDto
   {
       return new FooDto($this->get('bar'));
   }
}

И класс FooDto

final class FooDto
{
   public function __construct(int $bar)
   {
        //....
   }
}

Валидация проходит, но в конструктор FooDto приходит null
Как это поправить?
а последний метод как ты вызываешь?
источник

AB

Alex B in Laravel для начинающих
Павел Ланчев
с того что валидацию это поле проходит?
а метод вызывается?
источник

AP

Alexander Pavlenko 🌚... in Laravel для начинающих
Павел Ланчев
с того что валидацию это поле проходит?
а с чего оно должно в конструктор попасть?
источник