Php 拉威尔一分为二
问题是我分成了5个部分。如何通过Php 拉威尔一分为二,php,laravel,eloquent,Php,Laravel,Eloquent,问题是我分成了5个部分。如何通过$collection打印它们。如何获取拆分的$collection ExamsController@create $groups = $questions->split(5); $groups->toArray(); dd($groups); @foreach ($collections as $i => $collection) @foreach ($collection as $a => $question) var_dum
$collection
打印它们。如何获取拆分的$collection
ExamsController@create
$groups = $questions->split(5);
$groups->toArray();
dd($groups);
@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
dd($groups)
Create.blade.php
@foreach($questions as $question)
......
@endforeach
更新
$groups = $questions->split(5);
$groups->toArray();
dd($groups);
@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($i=>$collection形式的集合)
@foreach($a=>$question的集合)
var_dump($问题);
@endforeach
@foreach($b=>$Q的集合)
var_dump($问题);
@endforeach
@foreach($c=>$Q的集合)
var_dump($问题);
@endforeach
@foreach($d=>$question的集合)
var_dump($问题);
@endforeach
@foreach($e=>$question的集合)
var_dump($问题);
@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
];
foreach ($collections as $i => $collection) {
foreach ($collection as $j => $question) {
echo "Collection $i, Question $j : $question \n";
}
}
如前所述,在这种结构上迭代需要2个foreach循环
- 首先迭代集合
- 其次,迭代当前集合中的每个问题
$collections = [
['Q1?', 'Q2?'], // collection 1
['Q3?', 'Q4?'], // collection 2
['Q5?', 'Q6?'], // collection 3
['Q7?', 'Q8?'], // collection 4
['Q9?'] // collection 5
];
foreach ($collections as $i => $collection) {
foreach ($collection as $j => $question) {
echo "Collection $i, Question $j : $question \n";
}
}
更新:
预期输出如下所示:
(注意$i
和$j
在每次迭代中是如何与$collection
和$question
相关的)
以下是PHP沙盒代码:
以下是Laravel关于这方面的官方文件:
在foreach内部制作另一个foreach您只需要2个
foreach
循环。外环和内环。看起来您对foreach循环中的$key=>$value
语法感到困惑。(我使用了$I=>$collection
和$j=>$question
)。请参阅我的更新答案,其中包括预期的输出和我的PHP沙盒链接,以便您可以看到一切是如何工作的。