构建 Yii2 搜索查询
Build Yii2 Search Query
我正在尝试构建搜索查询,这里是
$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]],
]);
没用。请帮忙。
你应该试试这个:
// build condition
$condition = ['or'];
foreach ($keywordsArrayTrimed as $keyword) {
$condition[] = ['like', 'HRMS_candidatePrimarySkills', $keyword];
}
// fetch results
$searchResult = Candidate::find()->where($condition)->all();
我正在尝试构建搜索查询,这里是
$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]],
]);
没用。请帮忙。
你应该试试这个:
// build condition
$condition = ['or'];
foreach ($keywordsArrayTrimed as $keyword) {
$condition[] = ['like', 'HRMS_candidatePrimarySkills', $keyword];
}
// fetch results
$searchResult = Candidate::find()->where($condition)->all();