Можно передать нужный объект модели внутри методов CRUD без запроса к базе данных внутри самого метода?
Если вы посмотрите на DOC, вы увидите, что методы контроллера принимают идентификатор из URL какparam.
https://laravel.com/docs/5.7/controllers
Но, если вы генерируете контроллер с помощью кустарного интерфейса пользователя, методы принимают в качестве параметра не идентификаторы, а объекты запроса и / или объект модели, например Post $ post.Итак, как я могу быть уверен, что Laravel правильно запросит у меня БД и передаст модель в качестве параметра?Если я пытаюсь это сделать, представление корректно отображается, но данные не передаются в ответ.
Пример метода из DOCS
/**
* Show the profile for the given user.
*
* @param int $id
* @return Response
*/
public function show($id)
{
return view('user.profile', ['user' => User::findOrFail($id)]);
}
Пример метода из сгенерированного CLI контроллера
/**
* Display the specified resource.
*
* @param \App\Order $order
* @return \Illuminate\Http\Response
*/
public function show(Order $order)
{
//
}
Обратите внимание на разницу в параметрах.
Runned ArtisanКоманда
php artisan make: модель Заказать -mcr Ссылка: https://quickadminpanel.com/blog/list-of-16-artisan-make-commands-with-parameters/
Решение
Вы посмотрите на https://laravel.com/docs/master/routing#route-model-binding, Явное связывание и определите модельв маршрутизаторе в загрузке AppServiceProvider следующим образом:
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Route::model('ordini', \App\Order::class);
}