我有多个select2,接近10.所以当用户使用搜索表单搜索时,我会传递参数进行搜索。现在我的问题是他可以选择全部或者他可以选择2只有1或2.所以我如何从表中搜索这个。
我无法搜索一个参数是否返回空它给我空sql结果。我在yii2中这样做但我在这里只需要yii2中不完全想要的逻辑。我会把自己变成yii2。
$employee=EmpDetails::find()->where([
'designation_id'=>$designation,
'process_id'=>$process,
'state'=>$state
])->asArray()->all();
此处department
,process
,state
是数组。如果一个值为空,则查询返回null结果,如果没有值为空,则它可以正常工作。
答案 0 :(得分:0)
我正在为那些给我-1代表并且不理解这个问题的人发布我自己的答案。
$query=EmpDetails::find()
->andFilterWhere(['city'=>$city])
->andFilterWhere(['state'=>$state])
->andFilterWhere(['department'=>$department])
->asArray()
->all();
此方法andFilterWhere
将删除空查询操作数。
这里是$city
,其他是数组