order是mysql中的保留字,建议改成orders,否则用命令行的方式建order表会出错(或者指定为`yii`.'order')
2017-03-01
"extra": {
"asset-installer-paths": {
"npm-asset-library": "vendor/npm",
"bower-asset-library": "vendor/bower",
"npm-searchable": false,
"bower-searchable": false
}
}
"asset-installer-paths": {
"npm-asset-library": "vendor/npm",
"bower-asset-library": "vendor/bower",
"npm-searchable": false,
"bower-searchable": false
}
}
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