最新回答 / 慕粉4312336
你的框架路径不正确,你需要阅读readme的要求或者运行quirements.php来查看缺啥?最好重新安装yii用composer安装或者用压缩包来安装.
2017-02-23
同样为啥用 with()后 在下面的 foreach 循环中就不用再循环100次?
因为在$customers=Customer::find()->with('orders')->all();它是执行下面两句
// 先执行sql: SELECT * FROM customer LIMIT 100;
// SELECT * FROM orders WHERE customer_id IN (1,2,...)
在第二句中已经把 orders 查询出并且缓存了,所以再下面的循环中就不用再次重复从数据库中查询,而直接冲缓存中查询.这里对应的是老师讲的第一点知识.
因为在$customers=Customer::find()->with('orders')->all();它是执行下面两句
// 先执行sql: SELECT * FROM customer LIMIT 100;
// SELECT * FROM orders WHERE customer_id IN (1,2,...)
在第二句中已经把 orders 查询出并且缓存了,所以再下面的循环中就不用再次重复从数据库中查询,而直接冲缓存中查询.这里对应的是老师讲的第一点知识.
2017-02-15
@GeorgeYuan 我的理解是,如果加上 asArray()的话,那么 all()方法返回的就不是对象,而是一个数组了,所以无法再用 with().
2017-02-15