【发布时间】:2019-05-25 01:01:43
【问题描述】:
我试图仅在产品表中获取类别的集合。我的类别表有 300 个项目。如果产品表中附加了一个类别,我只想要一个集合。 $categories 集合应该只产生大约 10 个类别,因为只有大约 10 个产品具有不同的 category_ids
$products = DB::table('products')->groupBy('category_id')->get();
foreach($products as $product){
$categories[] = DB::table('categories')->where('id', '=', $product->category_id)->first();
}
$categories = collect($categories)->all();
也许我要解决这个问题,应该使用不同的查询构建器方法?
最终结果 $categories 确实得到了我想要的结果,但在我的刀片中,我得到了“尝试获取非对象的属性”错误。
【问题讨论】:
-
请看我的编辑。这可以通过 3 行查询生成器来完成。