【发布时间】:2019-03-09 03:08:44
【问题描述】:
我有一条路线:
Route::group(['prefix' => 'admin', 'middleware' => 'auth', 'as' => 'admin.'], function () {
Route::resource('photos', 'Admin\PhotoController', [
'parameters' => [
'photos' => 'alias'
]
]);
});
使用命令:
php artisan make:controller Admin/PhotoController --resource --model=Models/Photo
我创建了资源控制器 Admin/PhotoController,它有一个方法
public function edit(Photo $photo)
{
dd($photo);
}
为什么当我通过 url-address admin/photos/alias1/edit 时,laravel 5.6 不会自动加载 alias = alias1 的模型 Photo,而是加载一个空模型:
如果在地址行而不是参数alias写id admin/photos/1/edit+在路由中,删除参数名alias,则Photo模型加载正常:
但是对我来说参数 id 不适合,我需要使用别名 请告诉我可能是什么问题,是否可以这样做?
【问题讨论】:
标签: php laravel dependency-injection laravel-5.6