2016-02-18 103 views
0

我試圖構建查詢搜索,這裏是建立Yii2搜索查詢

 $searchResult = Candidate::find() 
     ->select('HRMS_candidateID, HRMS_candidateFirstName','HRMS_candidateMiddleName') 
     ->where(['LIKE', 'HRMS_candidatePrimarySkills', $keywordsArrayTrimed[$i]]) 

     ->all(); 

正如我有$keywordsArrayTrimed[$i]其中包含關鍵字,關鍵字的數量計數爲每個請求如何實現這一目標不同。

我已經嘗試使用循環,它會出錯Unexpected for loop

我厭倦了使用過濾器篩選

$searchResult->andFilterWhere([ 
      'or', 
      ['like', 'HRMS_candidatePrimarySkills', $keywordsArrayTrimed[$i]], 

     ]); 

它沒有工作。請幫忙。

+0

向我們展示你的循環,並增加約$ keywordsArrayTrimed – soju

+0

@soju增加了對循環 – Piyush

+0

$ keywordsArrayTrimed細節的話 – Piyush

回答

1

你應該簡單地嘗試這個辦法:

// build condition 
$condition = ['or']; 
foreach ($keywordsArrayTrimed as $keyword) { 
    $condition[] = ['like', 'HRMS_candidatePrimarySkills', $keyword]; 
} 

// fetch results 
$searchResult = Candidate::find()->where($condition)->all();