Yii2 ActiveRecord:复合输入条件

azl*_*lar 3 sql activerecord yii2

如何像(id, name) in ((1, 'George'), (2, 'Tom'))使用ActiveRecord的where()条件那样编写复合IN 条件?

soj*_*oju 5

要创建复合IN条件,您可以使用and array作为列名和值,其中值由列名索引['in', ['id', 'name'], [['id' => 1, 'name' => 'foo'], ['id' => 2, 'name' => 'bar']]]

例如:

$models = Model::find()->where(['in', ['id', 'name'], [
    ['id' => 1, 'name' => 'George'],
    ['id' => 2, 'name' => 'Tom'],
]])->all();
Run Code Online (Sandbox Code Playgroud)

阅读有关ActiveQuery :: where()的更多信息。