Yii2 如何在SearchModel中为布尔属性与or组合编程查询

Yii2 如何在SearchModel中为布尔属性与or组合编程查询,yii2,Yii2,以下查询将选择数据库的所有记录,其中属性arbeitsumfang_vollzeit为true: if ($this->DropDown_Arbeitszeit == 1) { $query = Bewerber::find()->where(['arbeitsumfang_vollzeit' => true]); } 下面的查询应该选择所有记录,其中属性arbeitsumfang\u vollzeit或arbeitsumfang\u terilzeit为true,但我失败

以下查询将选择数据库的所有记录,其中属性arbeitsumfang_vollzeit为true:

if ($this->DropDown_Arbeitszeit == 1) {
 $query = Bewerber::find()->where(['arbeitsumfang_vollzeit' => true]);
}
下面的查询应该选择所有记录,其中属性arbeitsumfang\u vollzeit或arbeitsumfang\u terilzeit为true,但我失败了

if ($this->DropDown_Arbeitszeit == 2) {
            $query = Bewerber::find()->andFilterWhere(['or',
                ['=', 'arbeitsumfang_vollzeit', $this->arbeitsumfang_vollzeit],
                ['=', 'arbeitsumfang_teilzeit', $this->arbeitsumfang_teilzeit]]);
}

如何正确地对查询进行编码?

我只是猜测您可能将
$this->arbeitsumfang\u vollzeit
设置为
null
not
false
,这将导致不按您的意愿过滤查询,

根据您的描述,我猜您需要这样的东西:

if ($this->DropDown_Arbeitszeit == 2) {
    $query = Bewerber::find()->andWhere([
        'or',
        ['=', 'arbeitsumfang_vollzeit', 1],
        ['=', 'arbeitsumfang_teilzeit', 1],
    ]);
}

如果添加
->createCommand()->rawSql,输出是什么在查询的末尾<如果参数为空或
null