显示 Laravel 个 SoftDeleted 模型
Show Laravel SoftDeleted Models
我遇到了一个问题,我不确定这是否不是一项功能。问题如下。我创建了一个设备数据库,用户可以在其中创建、操作、软删除和删除设备。
在我的索引页面上,我能够显示所有设备,甚至是软删除的设备(应该如此)。
Screen
但是,当我单击一个设备(显示方法)以查看该设备的详细信息时,我在软删除设备上收到 404。
通过 Tinker 请求模型时,我得到了模型。当我删除 deleted_at 时间戳时,我可以访问设备详细信息。所以我似乎无法通过 show 方法访问软删除模型。
我在网上搜索,但在我的查询中只找到 ->withTrashed()。但是对于 show 方法,我对我的设备本身没有任何查询,因为它在参数中。该方法本身似乎没有得到任何 'device' 作为参数。
是否有可能以某种方式改变这种行为,所以我可以在恢复之前先查看被软删除的设备。还是我错过了另一个文件中的某种标志或引用?
这里是我的展示方法:
public function show(Device $device)
{
$connected_devices = Device::where('connected_to', $device->id)->get();
$comments = DeviceComment::where('device_id', $device->id)->orderBy('created_at', 'desc')->get();
return view('devices.show', ['device' => $device, 'connected_devices' => $connected_devices, 'comments' => $comments]);
}
但我想我之前必须做一些事情,因为当我在第一行添加 'dd' 时它没有显示我的 dd 我仍然得到 404.
亲切的问候
迈克
我想 Laravel returns 404 因为在进入控制器之前它正在尝试加载您的模型。默认情况下查询不会有 ->withTrashed() 方法,您应该自己更改查询。
要清楚地了解其工作原理,请查看有关 Explicit bindings
的文档
我遇到了一个问题,我不确定这是否不是一项功能。问题如下。我创建了一个设备数据库,用户可以在其中创建、操作、软删除和删除设备。
在我的索引页面上,我能够显示所有设备,甚至是软删除的设备(应该如此)。 Screen
但是,当我单击一个设备(显示方法)以查看该设备的详细信息时,我在软删除设备上收到 404。
通过 Tinker 请求模型时,我得到了模型。当我删除 deleted_at 时间戳时,我可以访问设备详细信息。所以我似乎无法通过 show 方法访问软删除模型。
我在网上搜索,但在我的查询中只找到 ->withTrashed()。但是对于 show 方法,我对我的设备本身没有任何查询,因为它在参数中。该方法本身似乎没有得到任何 'device' 作为参数。 是否有可能以某种方式改变这种行为,所以我可以在恢复之前先查看被软删除的设备。还是我错过了另一个文件中的某种标志或引用?
这里是我的展示方法:
public function show(Device $device)
{
$connected_devices = Device::where('connected_to', $device->id)->get();
$comments = DeviceComment::where('device_id', $device->id)->orderBy('created_at', 'desc')->get();
return view('devices.show', ['device' => $device, 'connected_devices' => $connected_devices, 'comments' => $comments]);
}
但我想我之前必须做一些事情,因为当我在第一行添加 'dd' 时它没有显示我的 dd 我仍然得到 404.
亲切的问候 迈克
我想 Laravel returns 404 因为在进入控制器之前它正在尝试加载您的模型。默认情况下查询不会有 ->withTrashed() 方法,您应该自己更改查询。
要清楚地了解其工作原理,请查看有关 Explicit bindings
的文档