我正在尝试在CakePHP 3.x中构建一个查询。我有属于作者的文章(在Articles表中有author_id键),并且通过ArticlesAuthors属于ToMany作者。我想选择属于某个author_id的所有文章以及在ArticlesAuthors关联中也属于该作者的所有文章。
irc频道中的jose_zap建议使用leftJoinWith,但我对查询不够熟悉,无法理解如何做我想要的事情。答案 0 :(得分:0)
是的,你需要leftJoinWith
它会创建行的交叉连接,你可以按照以下条件过滤:
$query = $this->Articles->find('all')
->leftJoinWith('ArticlesAuthors')
->leftJoinWith('Authors')
->where(['Authors.id' => $authorId])
->orWhere(['ArticlesAuthors.author_id' => $authorId]);