问题
I am working on a Laravel 7 project. In my project, I am doing the route model binding. But it is not working and the model in the route is always returning null. This is what I have done so far.
I declare a route
Route::put('restaurant-category/{category}', 'RestaurantCategoryController@update')->name('restaurant-category.update');
As you can see, there is a placeholder for model binding, {category}.
This is my action in the controller.
public function update(RestaurantCategory $category, UpdateRestaurantCategoryRequest $request)
{
//here $category is always null even if I passed the valid category id.
}
In the action method, the $category is always null even if I passed the correct id for it. What is wrong with my code and how can I fix it?
回答1:
First you have to order, the controller method is first Request $request and then the model injection:
public function update(UpdateRestaurantCategoryRequest $request, RestaurantCategory $category)
{
//here $category is always null even if I passed the valid category id.
}
来源:https://stackoverflow.com/questions/62361037/laravel-7-route-model-binding-is-not-working-model-in-the-route-is-always-null