Условное форматирование в Laravel - PullRequest
0 голосов
/ 27 мая 2020

Я новичок в Laravel, я пытаюсь отформатировать ячейки таблицы как красные, если текущая дата - дата строки = 3 месяца, вот как я это сделал: в контроллере

   public function get_rxs()
{
$ldate = Time();
$rxs = rxs::all();

return view('viewlog', [
    'rxs' => $rxs,
    'ldate' => $ldate
]);

в поле зрения :

 @foreach($rxs as $rx)
      <tr @if($ldate-$rx->rxdate>="7776000") class="table-danger" @else  @endif >
        <td>{{ $rx->id }}</td>
        <td>{{ $rx->pt_name }} <br></td>
        <td>{{ $rx->dr_name }}</td>
        <td>{{ date("Y-m-d",$rx->rxdate) }}</td>

и я получил время, сохраненное как целое число (эпоха), дело в том, что он вычисляет se c: min: hr, и я действительно не хочу включать это в расчет, поскольку он может Сделайте разницу в доли секунды между красным форматированием и обычным форматом, и я хочу, чтобы он всегда использовал время 00:00:00 и любую дату .. как это сделать .. Я пробовал сделать это с помощью date (), но он говорит о недопустимом числовом данные, так как я думаю, что дата возвращает символы с числами ..

Ответы [ 2 ]

0 голосов
/ 28 мая 2020

Я просто использовал углеродные зависимости, и это сработало как шарм. Вот так: 1. добавил use Carbon \ Carbon; в контроллере 2. Изменил $ ldate на этот $ ldate = Carbon :: now () 3. в представлении я добавил это после foreach

<tr class="@if($ldate->diffindays($rx->rxdate)>="90") table-danger @elseif($ldate->diffindays($rx->rxdate)>="60") table-warning @endif" >>

и он начал показывать разницу только в днях

Поэтому я перестал использовать формат эпохи и вместо этого использовал формат DateTime

0 голосов
/ 28 мая 2020

Изменить

<tr @if($ldate-$rx->rxdate>="7776000") class="table-danger" @else @endif >

на

<tr class="{{ ($ldate->$rx->rxdate >= "7776000") ? 'table-danger' : ''}}">

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