簡體   English   中英

搜索查詢在Laravel中無法正常運行

[英]Search Query not functioning properly in Laravel

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”,這就是我的搜索查詢,它可以正常工作。 如果我輸入全名“約翰·彼得”,則對我不起作用。 在我的數據庫中,我有兩個字段“ 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 .'%');
    }
}

看看這個https://laravel.com/docs/5.4/queries#parameter-grouping

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM