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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (63)

如何将多个查询相加并将其发送到刀片文件?我有一个查询并从数据库中检索“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);
提问于
用户回答回答于

您可以使用pluck首选项查询结果来获取一系列首选项并使用以下内容查询产品whereIn

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

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

扫码关注云+社区

领取腾讯云代金券