我正在尝试在Laravel 5.5中对json响应进行分组
我的表格如下
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'untitled.ui'
#
# Created by: PyQt5 UI code generator 5.10.1
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QSystemTrayIcon
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(400, 300)
self.btn_name = QtWidgets.QPushButton(Form)
self.btn_name.setGeometry(QtCore.QRect(300, 30, 98, 33))
self.btn_name.setObjectName("btn_name")
self.btn_name.clicked.connect(self.minimize)
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "Form"))
self.btn_name.setText(_translate("Form", "PushButton"))
def minimize(self):
print("Test")
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Form = QtWidgets.QWidget()
ui = Ui_Form()
ui.setupUi(Form)
Form.show()
sys.exit(app.exec_())
我想得到以下json回复
+------+-------+-------------------------------------------------------
--------------------------------------------------+
| year | month | people
|
+------+-------+-------------------------------------------------------
--------------------------------------------------+
| 2017 | 3 | 松本 知実
|
| 2016 | 12 | 中島 春香,中津川 充,村山 裕樹,杉山 翼,中島 春香,木村 稔
|
| 2017 | 3 | 桐山 裕太,吉本 稔,藤本 稔
|
| 2015 | 3 | 喜嶋 学,若松 康弘,鈴木 直子,宮沢 幹
|
| 2017 | 11 | 大垣 晃,江古田 里佳,野村 康弘,中村 美加子,喜嶋 裕太
|
| 2016 | 6 | 中島 春香,中津川 充,村山 裕樹,杉山 翼,中島 春香,木村 稔
|
| 2015 | 11 | 野村 英樹,工藤 智也,山本 七夏,青田 舞
|
但我不能在同一年和同一个月对人数进行分组...... 我的代码在这里。
我的控制器
"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,
],
],
];
}
}
我想在同一年和同一个月对我的数据进行分组。
我该如何更改我的代码?
对不起,我是一个更新的laravel。 所以请帮助我!
答案 0 :(得分:0)
将控制器编辑为
class PublicationController extends Controller
{
public function index()
{
$publications = Publication::orderBy('year', 'DESC')
->orderBy('month', 'DESC')
->get();
return $publications->groupBy('year');
}
}