Список всех дней в этом месяце или каждый месяц в Laravel

Как я могу перечислить все дни в этом месяце? Мне нужно указать с 1 января по 31 января 2019 года. Как я могу указать эти дни в таблице?

В настоящее время у меня есть это:

<table class = "table">
    <thead>
        <tr>
            <th>DATE TODAY</th>
            <th>TIME IN</th>
            <th>TIME OUT</th>
            <th>ACTION</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td><b><?php  echo date("F-d-Y");  ?></b></td>
            <!---Date Hidden-->  <input type = "hidden" name = "dateToday" value='<?php echo date("F-d-Y") ?>'>
            <td><input type = "time" name = "timeIn" class = "form-control col-md-10"></td>
            <td><input type = "time" name = "timeOut" class = "form-control col-md-10"></td>
            <td> {{Form::button('<i class = "fa fa-clock">&nbsp;&nbsp;SET TIME</i>',['type' => 'submit','class' => 'btn btn-warning btn-sm',  'style'=>"display: inline-block;"])}}</td>     
        </tr>
    </tbody>
</table>  

На данный момент вывод моего текущего кода — это всего лишь одна дата, которая обновляется каждый день, как я могу перечислить все дни этого месяца? Или на февраль?

Мой ожидаемый результат - перечислить все дни в этом месяце. и другой месяц.

🤔 А знаете ли вы, что...
С PHP можно работать с файлами и директориями на сервере.


2
3 479
1

Ответ:

Решено

Поскольку вы используете Laravel, вы должны иметь возможность использовать Углерод.

Итак, следующее должно сделать это возможным в вашем случае.

@php
    $today = today(); 
    $dates = []; 

    for($i=1; $i < $today->daysInMonth + 1; ++$i) {
        $dates[] = \Carbon\Carbon::createFromDate($today->year, $today->month, $i)->format('F-d-Y');
    }
@endphp

<table class = "table">
    <thead>
        <tr>
        <th>DATE TODAY</th>
        <th>TIME IN</th>
        <th>TIME OUT</th>
        <th>ACTION</th>
        </tr>
    </thead>
    <tbody>
        foreach($dates as $date)
            <tr>
                <td><b>{{ $date }}</b></td>
                <input type = "hidden" name = "dateToday" value = "{{ $date }}">
                <td><input type = "time" name = "timeIn" class = "form-control col-md-10"></td>
                <td><input type = "time" name = "timeOut" class = "form-control col-md-10"></td>
                <td> {{Form::button('<i class = "fa fa-clock">&nbsp;&nbsp;SET TIME</i>',['type' => 'submit','class' => 'btn btn-warning btn-sm',  'style'=>"display: inline-block;"])}}</td>
            </tr>
        @endforeach
    </tbody>
</table>

Очевидно, что логика вычисления дат, вероятно, должна быть перенесена в контроллер. Это всего лишь простой пример.

Кроме того, поскольку вы используете Laravel, а я предполагаю, что это Blade, совершенно нет необходимости использовать <?php echo date("F-d-Y"); ?>.

Вместо этого вы можете просто использовать {{ $variable }}.