我有两个模型,通过连接表关系。所以,我试图从db获得一些没有这种关系的模型。
我可以通过this way来做到这一点。
但是如何通过查询来做到这一点?使用with或joinWith方法,并在联结表列中检查IS NULL
?
答案 0 :(得分:2)
创建交汇点模型并添加到您的AR模型方法中:
/**
* @return ActiveQuery
*/
public function getJunctions()
{
return $this->hasMany(Junction::className(), ['someId' => 'id']);
}
然后你可以将它用于查询:
$query = Model::find()
->joinWith([
'junctions' => function (\yii\db\ActiveQuery $query) {
$query->andWhere(['{{junction}}.id' => null]);
}
], false);