Yii的HAS_MANY执行多少条sql

Yii的has_many查出来的结果是

content 表
array(
    0 => array(
        'name' => 'a'
        'images' => array(
            0 => 'a.jpg',
            1 => 'b.jpg'
        )
    ),
    2 => array(
        'name' => 'b'
        'images' => array(
            0 => 'a.jpg',
            1 => 'b.jpg'
        )
    ),
    2 => array(
        'name' => 'c'
        'images' => array(
            0 => 'a.jpg',
            1 => 'b.jpg'
        )
    )
)

它是先查content表,再遍历content的每一条数据查Images,还是直接一条sql语句查出这些结果。

阅读 3.2k
1 个回答

看你贴的代码应该使用了贪婪加载。

原理是先取出所有符合条件的content数据,然后在用一条SQL根据relation 取出所有的images数据,然后在组合

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进