Laravel模型绑定包括SoftDeleted值

时间:2017-12-11 18:05:26

标签: laravel laravel-5

我有一个带有show函数的Route::resource('sheeps', 'SheepsController')返回资源:

public function show(Sheep $sheep)
{
    return new SheepResource(
        $sheep->load('farm')
    );
}

所以,当我致电/api/sheeps/123时,我应该让羊123,但是......我不明白,因为它是 softdeleted 。 如何修复它在软删除结果中搜索的资源?

2 个答案:

答案 0 :(得分:1)

你应该用这个:

在RouteServiceProvider中

 
/**     
* Define your route model bindings, pattern filters, etc.
*
 * @return void
 */
public function boot()
{


    parent::boot();

    Route::bind('sheep', function ($value) {
        return Sheep::withTrashed()->find($value);
    });



}

答案 1 :(得分:0)

试试这个:

public function show($id)
{
    $sheep = Sheep::withTrashed()->findOrFail($id);

并更新您的路线 或

public function show(int $sheep)
{
    $sheep = Sheep::withTrashed()->findOrFail($sheep);

或 使用Explicit Binding