[英]Sample excluding values from the table
我有對象通過中間表連接mano。
class City{ /**
* @return \yii\db\ActiveQuery
*/
public function getReviews()
{
return $this->hasMany(Reviews::className(), ['id' => 'review_id'])
->viaTable('city_review', ['city_id' => 'id']);
}
}
並獲得城市評論:
$reviews = $city2->getReviews()->all();
問題:如何從評論表中選擇不在city_review表中的評論?
我對yii activerecord語法不熟悉
但是您需要的查詢如下。
SELECT review.* FROM review
LEFT JOIN city_review cr ON cr.city_id = review.id
WHERE cr.id IS NULL
這段代碼的結果應該與您需要的類似,但是您需要進行測試。
$reviews = Reviews::find()
->select('review.*')
->leftJoin('city_review', '`city_review`.`city_id` = `review`.`id`')
->where(['city_review.id' => NULL])
->with('city_reviews')
->all();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.