Выпуск итерации по отдельным элементам в цикле foreach - PullRequest
0 голосов
/ 21 декабря 2018

У меня есть коллекция массивов, в которой я перебираю каждый из них в отдельности и получаю каждый идентификатор, чтобы отобразить его в представлении.При использовании цикла foreach я получаю только 1-й идентификатор, но я хочу получить их все в зависимости от количества элементов в массиве.Например, в массиве, прежде чем я должен получить 4 идентификатора.

array:4 [▼
  0 => array:3 [▼
    "id" => "157"
    "unit_sales_managers" => array:7 [▶]
    "policies" => array:3007 [▶]
  ]
  1 => array:3 [▼
    "id" => "73401"
    "unit_sales_managers" => array:8 [ …8]
    "policies" => array:2226 [ …2226]
  ]
  2 => array:3 [▼
    "id" => "0"
    "unit_sales_managers" => array:1 [ …1]
    "policies" => array:162 [ …162]
  ]
  3 => array:3 [▼
    "id" => "76300"
    "unit_sales_managers" => array:1 [ …1]
    "policies" => array:1 [ …1]
  ]
]

Итерации в представлении

 @foreach ($asm as $asms)
     <div class="panel-group" id="hierachy">
      <div class="panel panel-default">
        <div class="panel-heading">
          <h4 class="panel-title">
            <a data-toggle="collapse" href="#collapse1"> {{ dd($asms['id']) }}</a>
          </h4>
        </div>
        <div id="collapse1" class="panel-collapse collapse">
          <div class="panel-body">Panel Body</div>
          <div class="panel-footer">Panel Footer</div>
        </div>
      </div>
    </div>
@endforeach

Ответы [ 3 ]

0 голосов
/ 21 декабря 2018

Я думаю, что вложенный foreach поможет.

@foreach ($asm as $asms)
    @foreach ($asms as $a)
      <div class="panel-group" id="hierachy">
         <div class="panel panel-default">
          <div class="panel-heading">
          <h4 class="panel-title">
          <a data-toggle="collapse" href="#collapse1"> {{ dd($a['id']) }}</a>
         </h4>
         </div>
         <div id="collapse1" class="panel-collapse collapse">
          <div class="panel-body">Panel Body</div>
          <div class="panel-footer">Panel Footer</div>
        </div>
      </div>
    </div>
   @endforeach
@endforeach
0 голосов
/ 21 декабря 2018

Если вы наберете dd(), скрипт выполнит дамп содержимого первого элемента и прекратит выполнение.Просто удалите dd(), чтобы отобразить все элементы.

<a data-toggle="collapse" href="#collapse1"> {{ $asms['id'] }}</a>
0 голосов
/ 21 декабря 2018

Вы можете использовать функцию array_map .

$ids = array_map(function ($item) {
    return $item['id'];
}, $array);

, которая будет возвращать новый массив после применения обратного вызова к старому.

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