В Laravel, при использовании форм-реквестов, можно получить уже забиндженную модель, но это зависит от того, как вы определили правила валидации в вашем форм-реквесте.
Когда вы создаете форм-реквест в Laravel, можно определить правила валидации для полей в методе rules()
. При прохождении входных данных через эти правила валидации, Laravel автоматически забиндит модель на основе значения id
, когда оно присутствует во входных данных.
Предположим, что у вас есть модель User
с полем name
и форма, которая отправляет данные по маршруту /users/1
, где 1
- это идентификатор пользователя. Для этого маршрута вы можете создать форм-реквест и определить следующие правила валидации:
public function rules() { return [ 'name' => 'required|string|max:255', ]; }
Когда вы отправите форму, Laravel применит эти правила валидации к входным данным и автоматически забиндит модель User
с идентификатором 1
на основе значения id
в пути запроса. Кроме того, значения полей name
, которые соответствуют правилам валидации, будут доступны через объект форм-реквеста.
Для доступа к забиндженной модели в вашем форм-реквесте вы можете использовать метод all()
или input()
. Оба метода возвращают массив входных данных, и вы можете обратиться к забиндженной модели по имени поля.
public function rules() { // ... $user = $this->route('user'); // получение забиндженной модели // Можно получить доступ к полю name забиндженной модели $name = $this->input('name'); return [ // ... ]; }
Таким образом, вы можете получить доступ к забиндженной модели в форм-реквесте, используя правила валидации и методы доступа к входным данным.