Activerecord Yii-查找具有零相关记录的记录

Activerecord Yii-查找具有零相关记录的记录,activerecord,yii,yii1.x,Activerecord,Yii,Yii1.x,有两种模式:导演和书籍。AUTERS模型包含以下关系: public function relations() { return array( 'books' => array(self::MANY_MANY, 'Books','a_liens(id_auteur,id_book)'), 'booksCount' => array(self::STAT, 'Books', 'a_liens(id_auteur,id_book)'), )

有两种模式:导演和书籍。AUTERS模型包含以下关系:

public function relations() {
    return array(
        'books' => array(self::MANY_MANY, 'Books','a_liens(id_auteur,id_book)'),
        'booksCount' => array(self::STAT, 'Books', 'a_liens(id_auteur,id_book)'),
    );
}

如何编写标准以使所有auteur的booksCount为零

不算书,你可能只会发现没有书的AUTERS模型——结果是一样的,但问题是不同的。您可以通过使用LEFT JOIN并查找缺少书籍的记录来实现这一点:

$auteurs->with([
    'books' => [
        'together' => true,
        'select' => false,
        'joinType' => 'LEFT JOIN',
        'condition' => 'books.id IS NULL',
    ],
]);