【发布时间】:2020-02-29 13:30:56
【问题描述】:
我在循环内有一个查询,如下所示:
$users = User::all();
foreach($users as $user) {
$posts = Posts::where('status', 1)->where('user_id', $user->id)->get();
// do some thing ..
}
我把上面的代码sn-p转换成下面的代码:
$users = User::all();
$posts_tmp = Posts::where('status', 1);
foreach($users as $user) {
$posts = $posts_tmp->where('user_id', $user->id)->get();
// do some thing ..
}
在第二种方式中,我在循环外创建模型的新对象并在循环内使用 where
这段代码 sn-p 更快吗?
性能提升了吗?
第二种方式运行一次查询?
注意:我的问题是关于这两个代码 sn-p 所以其他解决方案,如使用
relationships或with()函数对我不利
【问题讨论】:
标签: php laravel performance eloquent