Laravel Controller函数不返回带主键的行

时间:2017-06-25 11:33:14

标签: php laravel-5.3

我的资源控制器出了问题。当我尝试使用destroy函数获取行删除记录时,如下所述,它不起作用。

public function destroy(SubCategory $subCategory)
{

$subCategory->delete();

}

但是,如果我尝试下面的某些内容,它可以正常工作

public function destroy($subCategory)
{

SubCategory::find($subCategory)->delete();

}

我只是想用第一个做到这一点,我不知道它为什么不起作用?

2 个答案:

答案 0 :(得分:1)

尝试在资源指令之前在RouteServiceProvider或直接在routes.php文件中定义您的模型:

public function boot(Router $router)
{
    parent::boot($router);

    Route::model('subCategory', App\SubCategory::class);
}

route service provider example

阅读:explicit binding

答案 1 :(得分:0)

我在web.php文件中发现了一个错误。我错误地定义了我的资源路径

  Route::resource('subcategory', 'SubCategoryController');

但它应该如下

Route::resource('subCategory', 'SubCategoryController');