Как добавить класс в ячейку HTML на основе его значения - PullRequest
0 голосов
/ 03 мая 2019

У меня есть следующий цикл, в котором я извлекаю значения из запроса и записываю с ним таблицу, в поле для возраста мне нужно изменить класс, основанный на значении дней, прошедших с даты отгрузки, и сегодня

Я уже пробовал использовать в CSS, например, [data-age> 180], но я получаю только ошибки, и я не могу найти случай, аналогичный моим потребностям, кроме того, я бы хотел сделать это внутри цикла вместо дополнительного фрагмента. кода, потому что это портит мой взгляд

@foreach($shipments as $shipment)
  <tr>
    <td data-title="id">{{$shipment->id}}</td>
    <td class=tracking data-title="tracking">{{$shipment->tracking}}</td>
    <td data-title="PartNumber">{{$shipment->PartNumber}}</td>
    <td data-title="DateShipped">{{$shipment->DateShipped}}</td>
    <td 
      data-title="age" 
      data-age="{{
        (int) floor(
          (time() - strtotime($shipment->DateShipped)) 
          / (60 * 60 * 24)
        )
      }}"
    >{{
      (int) floor(
        (time() - strtotime($shipment->DateShipped)) / (60 * 60 * 24)
      )
    }} days
    </td>

    <td data-title="Qtyorder">{{$shipment->Qtyorder}}</td>
    <td data-title="QtyShipped">{{$shipment->QtyShipped}}</td>
    <td data-title="QtyBckorder">{{$shipment->QtyBckorder}}</td>
    <td data-title="purchaseOrder">{{$shipment->purchaseOrder}}</td>
    <td data-title="OrderNumber">{{$shipment->OrderNumber}}</td>
    <td data-title="paperwork">{{$shipment->paperwork}}</td>
    <td data-title="VMIreceived">{{$shipment->VMIreceived}}</td>
    <td data-title="VMIticketNumber">{{$shipment->VMIticketNumber}}</td>
    <td data-title="VMILRB">{{$shipment->VMILRB}}</td>

    <td>
      <a 
        href="{{ route('shipment.edit',$shipment->id)}}" 
        class="btn btn-primary"
      >
        Edit
      </a>
    </td>
    <td>
      <form action="{{ route('shipment.destroy', $shipment->id)}}" method="post">
        @csrf
        @method('DELETE')
        <button class="btn btn-danger" type="submit">Delete</button>
      </form>
    </td>
  </tr>
@endforeach

Ответы [ 2 ]

1 голос
/ 03 мая 2019

попробуйте одну строку, если оператор

{{ $condition ? value if true : value if false }}
0 голосов
/ 03 мая 2019

Не проверено, но не могли бы вы попробовать это:

@foreach($shipments as $shipment)
  @php
    $time_passed = $shipment->DateShipped->diffInSeconds(now());
  @endphp

  <tr>
    <td class="{{ time_passed > some_number ? 'class_value_if_true' : 'class_value_if_false' }}">
      {{ $time_passed }}
    </td>
  </tr>
@endforeach
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...