【发布时间】:2015-12-29 03:53:52
【问题描述】:
我有一个查询,需要根据第一次查询的结果提供更多信息。这是代码
$params = DB::select('SELECT vpl_ppid, vpl_name, vpl_display, vpl_filter
FROM vw_parameter_list
WHERE vpl_slug = :type', ['type' => $type]);
foreach ($params as $param) {
$pd_vals = DB::select('SELECT * FROM parameter_distinct_value WHERE pd_ppid = :vpl_ppid ORDER BY pd_value', ['vpl_ppid' => $param->vpl_ppid]);
$param->value_list = $pd_vals;
}
正如您在上面看到的,我只是创建了一个新数组 ($param->value_list) 以将更多数据加载到其中。
如何通过消除foreach 中的查询来简化查询,以实现与上述相同的速度和输出。谢谢
【问题讨论】:
-
如果你有模型,你可以为laravel.com/docs/5.2/eloquent-relationships提供用户关系
-
我不使用模型,因为它是从遗留数据库改编的
标签: php mysql laravel laravel-5.2