色々ありますが、公式でやっているEXIST句などは以下のようにやっていますね。
$subquery = $cities->find()
->select(['id'])
->where(function ($exp, $q) {
return $exp->equalFields('countries.id', 'cities.country_id');
})
->andWhere(['population >', 5000000]);
$query = $countries->find()
->where(function ($exp, $q) use ($subquery) {
return $exp->exists($subquery);
});
# WHERE EXISTS (SELECT id FROM cities WHERE countries.id = cities.country_id AND population > 5000000)
考え方としては
別にクエリを作って変数に保存 => WHERE句のなかでちょっとした関数でEXISTを呼び出し先ほど作ったクエリを使用
といった感じで!
公式のリンク(真ん中らへんにあります)