Yii2关系查询帮助:仅选择具有相关记录的记录

时间:2017-03-18 14:03:26

标签: activerecord yii2 relationship

我有两个表A和B,关系“A有很多B”。 A可能没有任何B记录。

我需要编写一个查询,它只会选择那些在B中有相关记录的A记录。应忽略没有相关B记录的记录。 使用Yii2活动记录我也试图加载所有A记录与急切加载相关的B记录。所以这就是我所拥有的:

Movies::find()->with('shows')->all();

如何添加必要条件以过滤掉没有节目的电影? 如何在依赖于节目数据的电影上添加任何条件?

1 个答案:

答案 0 :(得分:5)

使用innerJoinWith代替,例如:

Movies::find()->innerJoinWith(['shows'])->all();

http://www.yiiframework.com/doc-2.0/yii-db-activequery.html#innerJoinWith()-detail