【发布时间】:2016-09-02 21:50:20
【问题描述】:
我有这四个类似的查询:
$products=Product::orderBy('views','desc')->with('category')->get(); //----1
$mostviews=Product::orderBy('views','desc')->limit(10)->get(); //----2
$show=Product::orderBy('views','desc')->with('category')
->with('user')
->with('productbrand.brand')
->first(); //----3
$shows=Product::orderBy('views','desc')->limit(20)
->with('category')
->with('user')
->with('productbrand.brand')
->get(); //----4
但出于不同的目的。
- 获取所有具有类别的产品。
- 获得 10 个产品
- 获取具有类别、用户和品牌的产品
- 获取20个产品的类别、用户和品牌
如何减少查询?
【问题讨论】:
-
为什么要合并查询?它们都是在同一个方法或操作中调用的吗?
-
@AngadDubey 尽可能减少查询。
标签: php laravel laravel-5.2