Задача разделена на 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






Вы разделяете возвращенные строки из своей модели на 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, чтобы вы могли увидеть, как все работает.
сделать еще один foreach внутри foreach