【发布时间】:2015-04-27 18:28:52
【问题描述】:
我正在使用 laravel 框架,我需要获得 2 个数组,一个带有高级主题,一个带有免费主题。所以我会这样做:
$premium_themes = \App\Theme::where('premium', '=', '1')->get();
$free_themes = \App\Theme::where('premium', '=', '0')->get();
这可以正常工作,但会在数据库上执行两个查询。由于我是一个优化极客,我认为有一个查询可能会更好......我会通过使用它来获得所有主题:
$themes = \App\Theme::all();
然后我会在 php 中处理这个以根据主题高级属性进行拆分。
所以我有两个问题:
1) 在这种情况下,单个查询优于 2 个查询,还是我想多了?
2) 有没有一种快速简单的方法可以根据高级属性将结果集合拆分为两个集合? (我知道 Laravel 有很多快捷方式,但我还是这个框架的新手)
【问题讨论】:
标签: php laravel optimization