How to create SQL like this?
select * from film_actor
where
actor_id = 1
AND (actor_id, film_id) not in ((1,1),(1,23),(1,25),(1,980),(1,970))
How to create SQL like this?
select * from film_actor
where
actor_id = 1
AND (actor_id, film_id) not in ((1,1),(1,23),(1,25),(1,980),(1,970))
->where([‘actor_id’ => [1,2]])
->andWhere([‘not in’,‘actor_id’, [3, 4]]);
just answered by lynicidn:
(new \yii\db\Query())->select(’*’)->from(‘film_actor fa’)
->where([‘actor_id’ => 1])
->andWhere([‘not in’, new \yii\db\Expression(’(actor_id, film_id)’), [
new \yii\db\Expression(’(1,1)’),
new \yii\db\Expression(’(1,23)’),
new \yii\db\Expression(’(1,25)’),
new \yii\db\Expression(’(1,980)’),
new \yii\db\Expression(’(1,970)’),
]])->all();
generate - SELECT * FROM film_actor fa WHERE (actor_id=1) AND (actor_id, film_id) NOT IN ((1,1), (1,23), (1,25), (1,980), (1,970)))