Laravel:软删除模型和类型提示

时间:2017-03-09 00:06:24

标签: laravel laravel-5 eloquent type-hinting

我使用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)
}

1 个答案:

答案 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);
    });
}