2015-05-11 2 views

ответ

39

Предполагая, что ваши модели названы BaseTwitter и BaseFollower соответственно, это должно работать:

$subQuery = BaseFollower::find()->select('id'); 
$query = BaseTwitter::find()->where(['not in', 'id', $subQuery]); 
$models = $query->all(); 
+1

@ arogachew большое спасибо за ваш ответ –

+0

Если это помогло, вы можете поддержать или принять ответ. – arogachev

+0

Я должен подождать 10 минут –

6
// SELECT * FROM (SELECT * FROM `user` WHERE `active` = 1) `activeusers`; 
$subquery = (new \yii\db\Query)->from('user')->where(['active' => true]) 
$query = (new \yii\db\Query)->from(['activeusers' => $subquery]); 

// subquery can also be a string with plain SQL wrapped in parenthesis 
// SELECT * FROM (SELECT * FROM `user` WHERE `active` = 1) `activeusers`; 
$subquery = "(SELECT * FROM `user` WHERE `active` = 1)"; 
$query = (new \yii\db\Query)->from(['activeusers' => $subquery]); 
Смежные вопросы