如何在laravel中汇总多个sql查询?

时间:2018-06-09 18:11:26

标签: php sql laravel

如何将多个查询相加并将其发送到刀片文件? 我有一个查询并检索" preferencesProducts"从数据库,所以根据他们,我也需要检索产品。这是我的控制器代码:

$preferences = DB::table('preferences')->where('customerId', $req->id)->get();

所以根据"偏好"上面的查询,我应该检索另一个数据,所以我做一个foreach提取$ preferencesProducts然后写我的查询并将其保存到一个名为$ preferences的变量

            foreach($preferences as $preference)
            {
                $preferencesedProducts= $preferencesedProducts.DB::table('products')->where('productsubCategory', $preference->preference)->get();
            }

当它进入循环时,它会进行多次查询,那么如何将它们相加并将它们发送到刀片文件?

我的代码:

return view('/customers/customerHome')->with('preferencesedProducts', $preferencesedProducts);

1 个答案:

答案 0 :(得分:1)

您可以在首选项查询结果中使用pluck来获取一系列偏好设置并使用whereIn查询产品:

$preferences = DB::table('preferences')->where('customerId', $req->id)->get();

$preferencesedProducts = DB::table('products')->whereIn('productsubCategory', $preferences->pluck('preference'))->get();