注意: 我把关联表,叫做 "副表",
- 当你使用关联查询的时候, 你想排除掉副表不满足的条件下, 主表也给排除掉, 那么我们这时候就选 JoinWith,某些值没有数据的也会被排除不显示,需要再测试下 (只显示副表有数据的)
- 不管对应的副表是否满足条件, 都把主表显示出来, 那么我们这时就选with
- 你观察sql,你会发现, 用with的时候, 没有with对应的sql语句, 而JoinWith对应的sql语句是存在的, 这点可以注意一下$commandQuery = clone $dataProvider->query; echo $commandQuery->createCommand()->getRawSql();