public static function searchSubmissions($request, $candidateIds = array(),$isscontact = NULL){
$querys = DB::table('submissions')->select('submissions.*');
if ( Input::has('candidatename') and $request->input('candidatename') != NULL){
$querys->join('candidates','candidates.candidateid','=','submissions.candidateid');
$querys->where('candidates.firstname', 'LIKE', '%'. $request->input('candidatename').'%')->orWhere('candidates.lastname', 'LIKE', '%'. $request->input('candidatename') .'%')->where('submissions.status','1');
}
$result = $querys->paginate(PAGELIMIT);
return $result ;
}
这是我的搜索查询,如果我在我的搜索字段中输入“john”或“peter”,它可以正常工作。如果我输入全名“john peter”,它对我不起作用。在我的数据库中,我有两个字段'firstname''lastname'
我认为,您需要重构代码才能正常工作。
$names = explode(' ', $request->input('candidatename'));
if (!empty($names)) {
foreach ($names as $name) {
$querys = $querys->orWhere('candidates.firstname', 'LIKE', '%'. $name .'%');
$querys = $querys->orWhere('candidates.lastname', 'LIKE', '%'. $name .'%');
}
}