Существует две таблицы посещаемости и перерыва.В таблице посещаемости есть два столбца start_time
и end_time
, и эти столбцы start_break_time
и end_break_time
находятся в таблице разрыва.также администратор может изменить / изменить любое время, начиная с посещаемости / перерыва, я клонирую предыдущие записи в таблицы Attendance_Log и Break_Log перед их редактированием.
Я использую левое соединение в AttendanceModel, которое работает нормально при просмотре текущей записи посещаемости, котораяПришло из таблицы посещаемости и перерывов. Также я добавил следующее условие для текущей / журнальной посещаемости
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();
, но проблема в том, что столбец break_punch_records обнуляется при просмотре журнала такой же посещаемости, и удивительно то, чтокогда я получаю последний запрос Log Attendance и запускаю его на mysql, инструмент break_punch_records
показывает со значением записи.
Примечание: я также запутался, где эта ошибка возникает, если в запросе журнала есть ошибка, как записиправильно показывает с break_punch_records
и если его ошибка от laravel / php, то как записи правильно отображаются в текущем представлении посещаемости.