laravel - 搜索laravel中的所有列得到错误的值
问题描述
我创建了一个搜索功能来搜索表上的数据,但是这个搜索结果并不像我需要的那样。这是因为我不能/不知道如何将 i 行查询放在 where 子句上。这个函数像这样
public function search(Request $request)
{
$ipsrs_id = Auth::user()->roles->ipsrs_id;
$cari = $request->cari;
$ipsrs_aduan = Aduan::where('ipsrs_id',$ipsrs_id);// i dont know where i can put this line
$query = Aduan::query();
$columns = ['aduan', 'nama_pengadu', 'status' ];
foreach($columns as $column){
$query->orWhere($column,'like','%'.$cari.'%');
}
$aduan = $query->paginate();
return view('admin.report_sarpras',['aduan' => $aduan]);
}
这个问题是我不能把这条线
$ipsrs_aduan = Aduan::where('ipsrs_id',$ipsrs_id);// i dont know where i can put this line
有人可以帮忙吗??
解决方案
我想你想要的是过滤 Aduan$ipsrs_id
并检查三列的值,例如$cari
。
像这样使用where 闭包:
$query = Aduan::where('ipsrs_id',$ipsrs_id);
$columns = ['aduan', 'nama_pengadu', 'status'];
$query->where(function($q) use ($columns, $cari) {
foreach($columns as $column){
$q->orWhere($column,'like','%'.$cari.'%');
}
});
$aduan = $query->paginate();
推荐阅读
- node.js - pdfkit nodejs,从第2页开始每页一个元素
- shiny - 如何为整个导航栏页面着色
- python - Python:ConnectionResetError:连接两次时我的聊天程序中的[WinError 10054]
- c# - 用任务/异步/等待替换后台工作人员?
- javascript - 无法在另一个 javascript 文件中调用 javascript 函数
- algorithm - 将最大堆用于优先级队列的具体目的是什么
- java - 如何发送日期如 0303
- java - 从两个spring服务调用方法时出现中断异常
- c# - 在谷歌表格中的单元格中添加注释c#
- java - 随机生成的数组中的数字总和