这是我的桌子
patient_id | vaccine_id
7 2
7 3
我希望它在我的html上像这样显示
患者编号:7,疫苗编号:2,3
我的控制器上有这个问题
return App\Notification::join('patients', 'patients.PatientID', '=', 'notifications.patient_id')
->join('parent_accounts', 'parent_accounts.ParentID', '=', 'patients.parent_id')
->join('vaccines', 'vaccines.VaccineID', '=', 'notifications.vaccine_id')
->select('parent_accounts.parent_phonenumber','patients.*','vaccines.vaccine_name')
->where('due_date', $request->due_date)->get();
但它在展示
patient id: 7, vaccine id: 2 , patient id: 7, vaccine id: 3
我试过使用
groupby('patient_id');
但它是这样显示的
patient id: 7, vaccine id: 2
它不显示其他疫苗id
最佳答案
必须将group_concat(vaccine_id)
与groupby('patient_id')
一起使用,才能获得所需的格式,如:
->selectRaw('GROUP_CONCAT(vaccine_id)')
关于php - laravel/php-按ID分组,但仍获取每一行数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42361191/