我使用Laravel Soft Deleting和类型提示。
是否可以使用类型提示向具有适当权限的用户显示软删除的模型。开箱即用的软删除模型不能是类型提示(laravel抛出错误)。
示例代码 - 路由:
Route::resource('users', 'Admin\UsersController', [
'parameters' => ['id' => 'user'],
'names' => [
'index' => 'admin.users.index',
'create' => 'admin.users.create',
'store' => 'admin.users.store',
'show' => 'admin.users.show',
'edit' => 'admin.users.edit',
'update' => 'admin.users.update',
'destroy' => 'admin.users.destroy'
]
]);
在Admin \ UsersController.php中
public function show(User $user)
{
// Show the $user (also if soft deleted)
}
答案 0 :(得分:2)
查看"自定义分辨率逻辑" Explicit Route Model Binding中的部分。
您希望在app/Providers/RouteServiceProvider.php
中执行以下操作:
public function boot()
{
parent::boot();
Route::bind('user', function ($value) {
return App\User::withTrashed()->find($value);
});
}