我有一个带有show函数的Route::resource('sheeps', 'SheepsController')
返回资源:
public function show(Sheep $sheep)
{
return new SheepResource(
$sheep->load('farm')
);
}
所以,当我致电/api/sheeps/123
时,我应该让羊123
,但是......我不明白,因为它是 softdeleted 。
如何修复它在软删除结果中搜索的资源?
答案 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