【问题标题】:Laravel 7 Route Model Binding is not working (Model in the route is always null)Laravel 7 路由模型绑定不起作用(路由中的模型始终为空)
【发布时间】:2020-10-03 06:14:57
【问题描述】:

我正在开发一个 Laravel 7 项目。在我的项目中,我正在做路由模型绑定。但它不起作用,并且路径中的模型总是返回 null。这是我到目前为止所做的。

我声明了一条路线

Route::put('restaurant-category/{category}', 'RestaurantCategoryController@update')->name('restaurant-category.update');

如您所见,模型绑定有一个占位符,{category}。

这是我在控制器中的操作。

public function update(RestaurantCategory $category, UpdateRestaurantCategoryRequest $request)
    {
        //here $category is always null even if I passed the valid category id.
    }

在 action 方法中,$category 始终为 null,即使我为它传递了正确的 id。我的代码有什么问题,我该如何解决?

【问题讨论】:

  • 尝试在控制器中使用{restaurantCategory} i 路由文件和$restaurantCategory

标签: laravel laravel-7 route-model-binding


【解决方案1】:

首先你要下单,控制器方法是先Request $request,然后是模型注入:

public function update(UpdateRestaurantCategoryRequest $request, RestaurantCategory $category)
    {
        //here $category is always null even if I passed the valid category id.
    }

【讨论】:

    【解决方案2】:

    我不知道这对任何有类似问题的人是否有帮助,但我已经正确设置了一切,但仍然无法正常工作。

    我的问题是,由于某种原因,分组路由没有使用“绑定”中间件。当我将“绑定”中间件添加到我的组时,我又开始工作了。请记住,我在我的 Kernel.php 中正确设置了它,但由于某种原因它没有被使用。

    留在这里以防万一发生在其他人身上

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-26
      • 2018-02-28
      • 2017-10-07
      • 2016-06-04
      • 2021-05-24
      • 2015-08-28
      • 2018-12-17
      相关资源
      最近更新 更多