Laravel资源不适用于自定义网址上的模型绑定

时间:2018-07-14 19:56:52

标签: laravel model resources auto

如果我使用这条路线:

Route::resource('monitor', 'UserMonitorController');

然后在控制器中:

public function update(Request $request, UserMonitor $userMonitor) {}

哪个是自动生成的

php artisan make:model -mcr UserMonitor

$userMonitor为空

1 个答案:

答案 0 :(得分:5)

问题

原因是使用路由补丁

  

/显示器

代替

  

/ usermonitor(作为控制器名称)

解决方案

变量必须与路由中的变量相同。在这种情况下,它将自动生成:

php artisan route:list 
PUT|PATCH | api/monitor/{monitor}         | monitor.update    | App\Http\Controllers\UserMonitorController@update

因此解决方案是更改:

public function update(Request $request, UserMonitor $userMonitor) {}

收件人:

public function update(Request $request, UserMonitor $monitor) {}