You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel Backpack软删除条目点击Show按钮出现404,能否正常查看?

在Backpack ShowOperation中显示软删除条目

默认情况下,Backpack的Show操作查询不会包含软删除的模型,所以访问已被软删除的条目时会返回404。要实现显示软删除条目,可以按以下步骤修改:

  • 确保模型启用软删除:你的模型必须已经引入SoftDeletes trait,示例代码如下:
use Illuminate\Database\Eloquent\SoftDeletes;

class YourModel extends Model
{
    use SoftDeletes;
}
  • 重写CrudController的show方法:在对应资源的CrudController中,重写show方法,让查询包含软删除记录:
public function show($id)
{
    $this->crud->setOperation('show');
    // 加入withTrashed(),让查询包含软删除模型
    $this->crud->query = $this->crud->query->withTrashed();
    
    return parent::show($id);
}
  • 可选:添加权限控制:如果需要限制只有特定用户能查看软删除条目,可以在方法中加入权限判断:
public function show($id)
{
    $this->crud->setOperation('show');
    
    if (auth()->user()->hasPermissionTo('view_trashed_entries')) {
        $this->crud->query = $this->crud->query->withTrashed();
    }
    
    return parent::show($id);
}
  • 配合列表页显示:如果希望在列表页能直接点击软删除条目进入Show页面,需要在List操作中也让查询包含软删除记录,或者启用Backpack的TrashOperation,这样列表页会提供筛选已删除条目的选项,点击条目即可正常访问Show页面。

内容的提问来源于stack exchange,提问作者Liju

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 20:23:10