Вложено для ответа l oop in ajax с указателем даты в календарном дне (время входа / выхода) в laravel - PullRequest
0 голосов
/ 25 февраля 2020

Я получил ответ данных, как показано ниже

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"
                    ]
            }
    ]
}

Что я хочу

what i want

Что я получаю без использования break; и last-iteration data

i get without break

Что я получаю, используя break и last-iteration data

with break

Что я получаю только с использованием break (данные последней итерации не используются и почти работают) almost work

Мой код:

  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 дату я показываю время регистрации пользователя (первое) и время проверки (последнее) (может быть много времени входа / выхода)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...