以下查询将选择数据库中所有记录,其中属性arbeitsumfang_vollzeit为true:
if ($this->DropDown_Arbeitszeit == 1) {
$query = Bewerber::find()->where(['arbeitsumfang_vollzeit' => true]);
}
以下查询应选择所有记录,其中属性arbeitsumfang_vollzeit或arbeitsumfang_terilzeit为真,但我失败了。
if ($this->DropDown_Arbeitszeit == 2) {
$query = Bewerber::find()->andFilterWhere(['or',
['=', 'arbeitsumfang_vollzeit', $this->arbeitsumfang_vollzeit],
['=', 'arbeitsumfang_teilzeit', $this->arbeitsumfang_teilzeit]]);
}
如何正确编码查询?
答案 0 :(得分:0)
我只是猜测您可能将$this->arbeitsumfang_vollzeit
设置为null
而不是false
,这将导致无法按您的意愿过滤查询,
答案 1 :(得分:0)
根据您的描述,我猜您需要这样的东西:
if ($this->DropDown_Arbeitszeit == 2) {
$query = Bewerber::find()->andWhere([
'or',
['=', 'arbeitsumfang_vollzeit', 1],
['=', 'arbeitsumfang_teilzeit', 1],
]);
}