当我选择多用户和多项目时,我正在尝试搜索数据,然后我单击搜索按钮,但不幸的是,数据没有显示在报告中。
返回$request
{
"_token":
"Y293JntHDWb40vqe5hG80ebhoxsxAGaWA00DcAkn",
"user": [
"3",
"4",
"8"
"project": [
"43",
"44",
"45",
"46"
],
"date": "2001-01-20 - 2020-07-02"
}
控制器
public function search(Request $request)
{
// return $request;
$date = explode(' - ', $request->date);
$auth = Auth::user();
$hourLog = Hourlog::with('project',
'user');
if ($request->user) {
foreach ($request->user as $users) {
$hourLog->where("user_id", $users);
}
} else if ($auth->user_type == 1) {
$hourLog->where("user_id", $auth->id);
}
if ($request->project) {
foreach ($request->project as $projects)
{
$hourLog->where("project_id", $projects);
}
}
$data = [
"hourlogs" => $hourLog-
>whereBetween('date', $date)
->orderBy('date', 'desc')
->orderBy('start_time', 'asc')
->get(),
"date" => $date,
];
return view('cms.reports.report-list',
$data);
}
问题似乎出在您添加$hourLog->where("user_id", $request->user);
的查询上,因为这为每个用户单独添加了条件,并在他们之间and
。试试whereIn('user_id', $users)
怎么样? project_id-s也是如此。