0

検索用のクエリを作成しようとしています。ここにあります

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

        ->all();

キーワードが含まれているように$keywordsArrayTrimed[$i]、キーワードの数はリクエストごとに異なります。これを達成する方法。

for ループを使用してみましたが、エラーが発生しますUnexpected for loop

フィルター使い疲れた

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

        ]);

うまくいきませんでした。助けてください。

4

1 に答える 1

1

これを試してみてください:

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

// fetch results
$searchResult = Candidate::find()->where($condition)->all();
于 2016-02-18T09:37:44.620 に答える