Я получил ответ данных, как показано ниже
Illuminate\Database\Eloquent\Collection {#309
#items: array:7 [
0 => App\Attendance {#310
#attributes: array:7 [
"id" => 1
"staff_id" => 1
"date" => "2020-02-19 09:15:41"
"direction" => "In"
]
}
1 => App\Attendance {#311
#attributes: array:7 [
"id" => 2
"staff_id" => 1
"date" => "2020-02-19 09:25:25"
"direction" => "Out"
]
}
2 => App\Attendance {#312
#attributes: array:7 [
"id" => 3
"staff_id" => 1
"date" => "2020-02-19 13:16:28"
"direction" => "In"
]
}
3 => App\Attendance {#313
#attributes: array:7 [
"id" => 6
"staff_id" => 1
"date" => "2020-02-19 16:25:41"
"direction" => "Out"
]
}
4 => App\Attendance {#314
#attributes: array:7 [
"id" => 7
"staff_id" => 1
"date" => "2020-02-20 16:25:41"
"direction" => "Out"
]
}
5 => App\Attendance {#315
#attributes: array:7 [
"id" => 8
"staff_id" => 1
"date" => "2020-02-21 16:25:41"
"direction" => "Out"
]
}
6 => App\Attendance {#316
#attributes: array:7 [
"id" => 9
"staff_id" => 1
"date" => "2020-02-22 16:25:41"
"direction" => "Out"
]
}
]
}
Что я хочу
Что я получаю без использования break;
и last-iteration data
Что я получаю, используя break
и last-iteration data
Что я получаю только с использованием break
(данные последней итерации не используются и почти работают)
Мой код:
success : function(data) {
var numberOfDays = daysInMonth(data[1], data[2]);
var res = '';
for (var i = 1; i <= numberOfDays; i++) {
res +=
'<tr>'+
'<td>' + i + '</td>';
for (j = 0; j < data[0].length; j++) {
var d = new Date(data[0][j].date);
var this_date = d.getDate();
if (this_date == i) {
var inTime = 'None';
var outTime = 'None';
if (data[0][j].direction == 'In') {
var inDateTime = data[0][j].date;
inTime = moment(inDateTime).format("hh:mm A");
}
if (data[0][j].direction == 'Out') {
if((j + 1) == data[0].length){ // last-iteration data (in image)
var outDateTime = data[0][j].date;
outTime = moment(outDateTime).format("hh:mm A");
}
}
res += '<td><span class="badge badge-pill badge-success">' + inTime + '</span></td>'+
'<td><span class="badge badge-pill badge-danger">' + outTime + '</span></td>';
break; //not sure where to put :D
}
}
res += '</tr>';
}
$('tbody').html(res);
},
function daysInMonth(month,year) {
return new Date(year, month, 0).getDate();
}
Я пытаюсь отобразить календарную дату 1-31, etc
в таблице, а в указанную c дату я показываю время регистрации пользователя (первое) и время проверки (последнее) (может быть много времени входа / выхода)