【发布时间】:2020-11-18 01:32:03
【问题描述】:
我一直在从事一个个人项目,用户可以对不同的商店进行评分。其中,我有两个正在处理的表模式。
表:商店
- 身份证
- 店铺名称
- user_id(商店属于用户)
表格:评分
- 身份证
- shop_id (foreign_key)
- 评分
- user_id
现在我想使用 SQL 连接获取所有商店及其对应的评分。
$shop = Shop::leftJoin('ratings', 'ratings.shop_id', '=', 'shops.id')
->select('shops.*', 'ratings.rating')->get();
return response($shop);
当我这样做时,我会得到响应,但对于同一家商店的每个评级都会重复。
[
{
"id": 1,
"name": "manjil",
"rating": 4
},
{
"id": 1,
"name": "manjil",
"rating": 5
},
{
"id": 1,
"name": "manjil",
"rating": 2
}]
我真正想要的是:
[{
"id": 1,
"name": "manjil",
"rating": [4,5,2]
}]
请 Laravel 极客帮忙 :)
【问题讨论】:
-
在
->get();之前尝试->groupBy('rating');
标签: php mysql json laravel laravel-5