简体   繁体   English

Laravel:如何使用查询构建器获取列中的对象

[英]Laravel : How to get object in column with query builder

I want to display what kind of data I have described below, but I don't know the keywords.我想显示我下面描述的数据类型,但我不知道关键字。

For now, this is my data:现在,这是我的数据:

在此处输入图片说明

And this is the result I want:这是我想要的结果:

在此处输入图片说明

This is, my controller:这是,我的控制器:

$data = DB::table('tr_doctor_schedules as sch')
    ->select('sch.id as schedule_id','doctor_name','hospital_name','estimated_practice_time','day','from_time','until_time')
    ->join('mst_hospitals as hos', 'hos.id', '=', 'sch.hospital_id')
    ->join('mst_doctors as doc', 'doc.id', '=', 'sch.doctor_id')
    ->join('tr_doctor_schedule_details as dtl', 'dtl.doctor_schedule_id', '=', 'sch.id')
    ->where('sch.hospital_id', $hosId)
    ->where('sch.doctor_id', $docId)
    ->first();

if ($data) {
    return response()->json([
        'success' => true,
        'message' =>'success',
        'data'    => $data
    ], 200);
} else {
    return response()->json([
        'success' => false,
        'message' => 'Data not found.',
    ], 400);
}

Thanks谢谢

Try this尝试这个

   $data = DB::table('tr_doctor_schedules as sch')
        ->selectRaw('sch.id as schedule_id,doctor_name,hospital_name,estimated_practice_time,GROUP_CONCAT(day) as day,from_time,until_time')
        ->join('mst_hospitals as hos', 'hos.id', '=', 'sch.hospital_id')
        ->join('mst_doctors as doc', 'doc.id', '=', 'sch.doctor_id')
        ->join('tr_doctor_schedule_details as dtl', 'dtl.doctor_schedule_id', '=', 'sch.id')
        ->where('sch.hospital_id', $hosId)
        ->where('sch.doctor_id', $docId)
        ->groupBy('sch.id')
        ->first();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM