如何在ar中禁用关联表的数据数据读取? 看了下api文档,没有找到相关的选项, 感觉如果关联得到的数据太多会影响读取的性能, yii是不是有这样的选项?
如何在ar中禁用关联表的数据数据读取? 看了下api文档,没有找到相关的选项, 感觉如果关联得到的数据太多会影响读取的性能, yii是不是有这样的选项?
你是指关联对象column有可能很多导致性能不好?你可以指定select选项。
我的意思是是否可以在使用ar的时候选择不读取关联表的数据,如果关联表的数据过多,会影响读取的速度
当然可以,你不用with(),或者不去访问关联对象,那么就不会去query这些关联对象了啊。
明白了, 在没有with()的情况下,findall并没有读取关联表数据,当第一次调用关联表别名属性: $post->comments的时候,又执行了一次sql来调用关联表数据。
谢谢指教
是这样。前者叫eager loading,后者叫lazy loading。