Laravel разделен на 5

Задача разделена на 5 частей. как их распечатать 5 foreachs по $collection. как взять splitted$collection.

ExamsController @ create

$groups = $questions->split(5);
$groups->toArray();
dd($groups);

дд ($ группы)

Collection {#455 ▼
  #items: array:5 [▼
    0 => Collection {#394 ▶}
    1 => Collection {#619 ▶}
    2 => Collection {#407 ▶}
    3 => Collection {#398 ▶}
    4 => Collection {#275 ▶}
  ]
}

Create.blade.php

@foreach($questions as $question)
 ......
@endforeach

Обновлять

@foreach ($collections as $i => $collection)
@foreach ($collection as $a => $question)
    var_dump($question);
@endforeach</br>
@foreach ($collection as $b => $question)
    var_dump($question);
@endforeach</br>
@foreach ($collection as $c => $question)
    var_dump($question);
@endforeach</br>
@foreach ($collection as $d => $question)
    var_dump($question);
@endforeach</br>
@foreach ($collection as $e => $question)
    var_dump($question);
@endforeach
@endforeach

сделать еще один foreach внутри foreach

Sohel0415 10.04.2018 06:26
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
1
293
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы разделяете возвращенные строки из своей модели на 5 коллекций. Каждая коллекция содержит x вопросов. Вам нужно перебирать свои коллекции, а также вопросы в своих коллекциях.

Другой цикл foreach должен помочь.

$collections = $questions->split(5);

Мы могли представить, что $collections будет выглядеть примерно так:

$collections = [   
    ['Q1?', 'Q2?'], // collection 1
    ['Q3?', 'Q4?'], // collection 2
    ['Q5?', 'Q6?'], // collection 3
    ['Q7?', 'Q8?'], // collection 4
    ['Q9?']         // collection 5
];

Для перебора такой структуры потребуется 2 цикла foreach, как упоминалось ранее.

  • Сначала перебираем коллекции
  • И во-вторых, чтобы перебрать каждый вопрос в текущей итерируемой коллекции.

Это выглядит так:

foreach ($collections as $i => $collection) {
    foreach ($collection as $j => $question) {
        echo "Collection $i, Question $j : $question \n";
    }
}

Обновлять:

Ожидаемый результат можно найти ниже:

(Обратите внимание, как $i и $j связаны с $collection и $question на каждой итерации)

Вот код песочницы PHP:

http://sandbox.onlinephpfunctions.com/code/77fb25e94a7ab81e699b99d5e354a1c5fe3a0d11

Collection 0, Question 0 : Q1? 

Collection 0, Question 1 : Q2? 

Collection 1, Question 0 : Q3? 

Collection 1, Question 1 : Q4? 

Collection 2, Question 0 : Q5? 

Collection 2, Question 1 : Q6? 

Collection 3, Question 0 : Q7? 

Collection 3, Question 1 : Q8? 

Collection 4, Question 0 : Q9? 

Вот официальная документация Laravel по этому поводу: https://laravel.com/docs/5.6/collections#method-split

Вам нужно всего 2 петли foreach. Внешний цикл и внутренний цикл. Похоже, вы запутались в синтаксисе $key => $value внутри цикла foreach. (Я использовал $i => $colllection и $j => $question). Пожалуйста, посмотрите мой обновленный ответ, который включает ожидаемый результат, а также ссылку на мою песочницу PHP, чтобы вы могли увидеть, как все работает.

domdambrogia 10.04.2018 07:57

Другие вопросы по теме