我正在尝试在 Laravel 5.5 中对 json 响应进行分组
我的桌子在下面
+------+-------+-------------------------------------------------------
--------------------------------------------------+
| year | month | people
|
+------+-------+-------------------------------------------------------
--------------------------------------------------+
| 2017 | 3 | 松本 知実
|
| 2016 | 12 | 中島 春香,中津川 充,村山 裕樹,杉山 翼,中島 春香,木村 稔
|
| 2017 | 3 | 桐山 裕太,吉本 稔,藤本 稔
|
| 2015 | 3 | 喜嶋 学,若松 康弘,鈴木 直子,宮沢 幹
|
| 2017 | 11 | 大垣 晃,江古田 里佳,野村 康弘,中村 美加子,喜嶋 裕太
|
| 2016 | 6 | 中島 春香,中津川 充,村山 裕樹,杉山 翼,中島 春香,木村 稔
|
| 2015 | 11 | 野村 英樹,工藤 智也,山本 七夏,青田 舞
|
我想得到以下 json 响应
"2015" : {
"3" : {
"people" : "喜嶋 学,若松 康弘,鈴木 直子,宮沢 幹"
},
"11" : {
"people" : "野村 英樹,工藤 智也,山本 七夏,青田 舞"
},
},
"2016" : {
"6" : {
"people" : "中島 春香,中津川 充,村山 裕樹,杉山 翼,中島 春香,木村 稔"
},
"12" : {
"people" : "中島 春香,中津川 充,村山 裕樹,杉山 翼,中島 春香,木村 稔"
},
},
"2017" : {
"3" : {
[
"people" : "松本 知実",
"people" : "桐山 裕太,吉本 稔,藤本 稔",
]
},
"11" : {
"people" : "大垣 晃,江古田 里佳,野村 康弘,中村 美加子,喜嶋 裕太"
},
}
但是我不能按同一年和同一个月对人员数据进行分组……我的代码在这里。
我的控制器
class PublicationController extends Controller
{
public function index()
{
$publications = Publication::orderBy('year', 'DESC')
->orderBy('month', 'DESC')
->get();
return PublicationResource::collection($publications);
}
}
和我的资源
class PublicationResource extends Resource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return [
$this->year => [
$this->month => [
'people' => $this->people,
],
],
];
}
}
但现在在我的代码中,响应如下。
"2017": {
"11": {
"people": "大垣 晃,江古田 里佳,野村 康弘,中村 美加子,喜嶋 裕太"
}
},
"2017": {
"3": {
"people": "松本 知実"
}
},
"2017": {
"3": {
"people": "桐山 裕太,吉本 稔,藤本 稔"
}
},
"2016": {
"12": {
"people": "中島 春香,中津川 充,村山 裕樹,杉山 翼,中島 春香,木村 稔"
}
},
"2016": {
"6": {
"people": "中島 春香,中津川 充,村山 裕樹,杉山 翼,中島 春香,木村 稔"
}
},
"2015": {
"11": {
"people": "野村 英樹,工藤 智也,山本 七夏,青田 舞"
}
},
"2015": {
"3": {
"people": "喜嶋 学,若松 康弘,鈴木 直子,宮沢 幹"
}
},
我想按同一年和同一个月对我的数据进行分组。
我应该如何更改我的代码?
对不起,我是 laravel 的新手。所以请帮助我!