php - 如何在 Laravel 中仅找到已删除的行?
问题描述
我SoftDeletes
在我的项目中使用,它被识别为deleted_at
在数据库表中,我想搜索并只查找已删除的行。
这是我的控制器代码
public function trashedJobSearch(Request $request)
{
$search = $request->get('search');
$jobs = Jobs::select('id', 'company_name', 'position_name', 'job_description','deleted_at', 'created_at', 'expire_date', 'status')
->where(DB::raw('lower(company_name)'), 'like', '%' . mb_strtolower($search) . '%')
->orWhere(DB::raw('lower(position_name)'), 'like', '%' . mb_strtolower($search) . '%')
->where('deleted_at', '!=', null)
->paginate(10);
return view('/trashed', compact('jobs'));
}
我尝试使用onlyTrashed()
,但它也不起作用。
解决方案
正如你所拥有的orWhere
,你需要使用分组,并且onlyTrashed
Jobs::select('id', 'company_name', 'position_name', 'job_description','deleted_at', 'created_at', 'expire_date', 'status')
->where(function ($query) use ($search) {
$query->where(DB::raw('lower(company_name)'), 'like', '%' . mb_strtolower($search) . '%')
->orWhere(DB::raw('lower(position_name)'), 'like', '%' . mb_strtolower($search) . '%');
})->onlyTrashed()
->paginate(10);
推荐阅读
- java - 为什么我的 WindowBuilder 中的调色板是空的?
- c# - 即时窗口评估为真,而调试评估为假?
- input - 无法输入 React 应用程序的输入元素
- php - 使用 foreach 在 div 上添加类 if else Laravel
- xslt-2.0 - XSLT 输出翻倍
- discord.py - 忽略命令播放中的异常:discord.py
- java - 尝试从部门名称触发的数据库中获取调查列表时级联下拉列表中的错误
- html - 特定浏览器在手机屏幕底部显示空白
- c# - 显示属于树视图选择的最后一个节点的记录
- elasticsearch - 如何在术语聚合中获得所有存储桶的总计数?