例如有3个表:
- 产品
- 产品图片
- 产品规格
并且这三个表的模型中存在一对一的关系。
通过在页面上显示 50 个产品 - 它在循环内获得更多 +2 额外查询,因此总共有 150 行和很酷的对象:
$products = Products::find();
foreach ($products as $product)
{
$product->name;
$product->images->filename;
$product->specs->volume;
}
或者只是在 Products Model 中创建自定义方法并加入所有必要的表:
$products = Products::getComplete();
foreach ($products as $product)
{
$product->name;
$product->imageFile;
$product->specVolume;
}
所以,我想知道:第一种做法是否有用并且不会对 MySQL 守护进程造成高负载或大幅减慢 php 脚本执行时间?