Laravel Foreach Looping - PullRequest
       23

Laravel Foreach Looping

0 голосов
/ 25 июня 2018

Мне нужно отобразить предыдущее значение повторяющегося массива, вот код

<tr>
    <th></th>
    <th>Customer ID</th>
    <th>Customer Name</th>
    <th>Delivery Address</th>
    <th>Contact No.</th>
    <th>Zip Code</th>
    <th>Payment Terms</th>
    <th>Credit Limit</th>
</tr>
<?php $previousValue = null; ?>
@foreach($customer_count as $key => $value)
    <tr>
        <td>{{$previousValue=$value->customer_name }}</td>
        <td>{{ $value->id }}</td>
        <td>{{ $value->customer_name }}</td>
        <td>{{ $value->delivery_address }}</td>
        <td>{{ $value->contact_number }}</td>
        <td>{{ $value->area_id }}</td>
        <td>{{ $value->payment_term_id }}</td>
        <td>{{ $value->credit_limit }}</td>
    </tr>
@endforeach

Мне нужно отобразить предыдущее имя Клиента в итерации? Есть идеи, как это сделать?

Ответы [ 4 ]

0 голосов
/ 25 июня 2018

Сначала установите предыдущее значение как пустое, а затем в нижнее значение в $previousValue

<?php $previousValue = '';?>
@foreach($customer_count as $key => $value)
    <tr>
        <td>{{ $previousValue }}</td>
        <td>{{ $value->id }}</td>
        <td>{{ $value->customer_name }}</td>
        <td>{{ $value->delivery_address }}</td>
        <td>{{ $value->contact_number }}</td>
        <td>{{ $value->area_id }}</td>
        <td>{{ $value->payment_term_id }}</td>
        <td>{{ $value->credit_limit }}</td>
    </tr>
    <?php $previousValue = $value->customer_name; ?>
@endforeach
0 голосов
/ 25 июня 2018

пожалуйста, попробуйте это

<td>{{ (!$loop->first) ? $customer_count[$key - 1]->customer_name : '' }}</td>

Подробнее о цикле foreach можно прочитать здесь .

0 голосов
/ 25 июня 2018

Установить значение в конце, я установил пустым для первого

 @foreach($customer_count as $key => $value)
      <tr>
           <td>{{$previousValue or ""}}</td>
           .....
           .....
      </tr>
      <?php $previousValue = $value->customer_name ?>
  @endforeach
0 голосов
/ 25 июня 2018

$ customer_count [$ key - 1]

Конечно, вам нужно проверить, существует ли он, или использовать оператор null-coalesce или что-то в этом роде, поэтому:

@php

$previous = $customer_count[$key - 1] ?? false;

@endphp

Тогда используйте:

@if( $previous ) 
... some stuff ...
@endif

везде, где вам нужно ввести.

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