我必须实现搜索功能。如下所示,我有一个搜索字段,即文本,它将搜索名称,描述和预算。以及其他搜索字段,例如cid,状态。因此,当我仅使用搜索或cid字段来搜索其工作正常时,但是当我将它们全部一起使用(搜索,cid,状态)时,它无法正常工作,则只能在搜索字段中进行搜索。不知道问题出在哪里。以下是我的代码:
$projects = Project::where(['is_active'=>1])
->with('customer')
->withCount(['inactiveTask', 'activeTask',
'completeTask']);
if(@$request->get('search')!="")
{
$search = $request->get('search');
$projects = $projects ->Where('name', 'LIKE', "%{$search}%")
->orWhere('description', 'LIKE', "%{$search}%")
->orWhere('budget', 'LIKE', "%{$search}%");
}
if(@$request->get('cid')!="")
{
$projects = $projects->where(['customer_id'=>$request->get('cid')]);
}
if(@$request->get('status')!="")
{
$projects = $projects->where(['status'=>$request->get('status')]);
}
if(@$request->get('budget-from')!="" && @$request->get('budget-to')!="")
{
$projects = $projects->whereBetween('budget', [$request->get('budget-from'), $request->get('budget-to')]);
}
$projects->get();