问题是我分成了五个部分。如何用foreachs打印5 $collection。我该如何对待分裂的$collection。
ExamsController@create
$groups = $questions->split(5);
$groups->toArray();
dd($groups);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发布于 2018-04-10 04:37:40
您正在将返回的行从模型中拆分为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
https://stackoverflow.com/questions/49745283
复制相似问题