javalzbin
- javalzbin 2016-03-17 已签到连续签到24天,获得了20个金钱
- javalzbin 2016-03-16 已签到连续签到23天,获得了20个金钱
- javalzbin 回答了问题 Yii2如何返回结果记录数
$count = (new \yii\db\Query()) ->from('user') ->where(['last_name' => 'Smith']) ->count();
如果没有条件,把where去掉
- javalzbin 2016-03-15 已签到连续签到22天,获得了20个金钱
- javalzbin 回答了问题 redis 配置出错
连接拒绝,你不会是本地环境连接到阿里云吧?
- javalzbin 2016-03-14 已签到连续签到21天,获得了20个金钱
- javalzbin 2016-03-13 已签到连续签到20天,获得了20个金钱
- javalzbin 2016-03-12 已签到连续签到19天,获得了20个金钱
- javalzbin 2016-03-11 已签到连续签到18天,获得了20个金钱
为了实现贪婪加载。
// 查找所有订单并以客户 ID 和订单 ID 排序,并贪婪加载 "customer" 表 $orders = Order::find()->joinWith('customer')->orderBy('customer.id, order.id')->all();
文档上有说明 :http://www.yiichina.com/doc/guide/2.0/db-active-record
这里有对joinWith的说明,也有对贪婪加载的说明@YiiNewer
为提高程序执行效率而提供的一种机制,即只有真正使用该对象的数据时才会创建。他节省了服务器的内存开销,从而提高了服务器的性能。
如果你明确了解自己要查询的数据是需要立即加载的,那你就关闭贪婪加载,他这个设计是为了有些时候,关联的数据你未必就需要用到,而真正使用到的时候,再去查询。ps: 以上是我个人理解,不敢说理解一定是对的,仅供参考。因为我觉得这个设计跟java中hibernate的延迟加载应该是一个意思。
至于为什么要这么设计,估计作者才清楚,或者说真正对这个功能有体会的人才比较明白他的好处。