laravel查询出错或退出联接

时间:2018-12-20 14:31:07

标签: mysql laravel-5 eloquent

有两个表出勤和休息时间。在出勤表中有两列start_timeend_time,这两列start_break_timeend_break_time在中断表中。管理员也可以从出勤/休息时间更改/修改任何时间,我在编辑之前将以前的记录克隆到Attendance_Log和Break_Log表中。

我正在使用AttendanceModel中的左联接,当查看来自Attendance和Break表的当前出勤记录时,它工作得很好,而且我还为Current / Log Attendance添加了以下条件

    if($url_seg_four =='log'){
        $attendance_table = 'Attendance_Log';
        $break_table = 'Break_Log';
    } else {
        $attendance_table = 'Attendance';
        $break_table = 'Break';
    }

    $attendance_query = DB::table($attendance_table)->select('attendance.*',
        DB::raw('GROUP_CONCAT(CONCAT(start_break_time,'"-"',end_break_time)) as break_punch_records') ,
    )

    if($url_seg_four =='log'){
        $attendance_query = $attendance_query->leftJoin($break_table,function ($breakleftJoin){

        $breakleftJoin->on('attendance.id','=','break.attendance_id');
        $breakleftJoin->where('break.log_id','=',$url_log_id);

        })
    } else {
        $attendance_query = $attendance_query->leftJoin($break_table,'attendance.id','=','break.attendance_id')
    }


    $attendance_query->get();

但是问题是当我查看相同出勤率的Log时,break_punch_records列为null,令人惊讶的是,当我获得Log Attendance的最后一个查询并在mysql工具break_punch_records上运行时,它显示的是记录值。 / p>

注意:如果日志查询中有错误,如何用break_punch_records正确显示记录,以及如果是laravel / php导致错误,那么如何在当前出勤视图中正确显示记录,我也感到困惑

0 个答案:

没有答案