Laravel模型绑定包括SoftDeleted值

问题描述 投票:1回答:2

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

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

因此,当我打电话给/api/sheeps/123我应该得到绵羊123,但是...我不明白,因为它是软删除。如何修复它还在softdeleted结果中搜索的资源?

laravel laravel-5
2个回答
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);
    });



}

0
投票

试试这个:

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

并更新您的路线或

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

或使用Explicit Binding

© www.soinside.com 2019 - 2024. All rights reserved.