Laravel 资源不适用于自定义模型绑定 url
Laravel Resources doesn't work with model binding on custom url
如果我使用这条路线:
Route::resource('monitor', 'UserMonitorController');
然后在控制器中:
public function update(Request $request, UserMonitor $userMonitor) {}
由
自动生成
php artisan make:model -mcr UserMonitor
$userMonitor
为空
问题
原因是使用路由补丁
/monitor
而不是
/usermonitor (as controller name)
解决方案
变量必须与路由中的变量相同。在这种情况下,它是自动生成的:
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) {}
如果我使用这条路线:
Route::resource('monitor', 'UserMonitorController');
然后在控制器中:
public function update(Request $request, UserMonitor $userMonitor) {}
由
自动生成php artisan make:model -mcr UserMonitor
$userMonitor
为空
问题
原因是使用路由补丁
/monitor
而不是
/usermonitor (as controller name)
解决方案
变量必须与路由中的变量相同。在这种情况下,它是自动生成的:
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) {}