Php 为什么嵌套循环在laravel中不起作用
这是我的观点,我不知道为什么我的嵌套looop不工作,请帮助我Php 为什么嵌套循环在laravel中不起作用,php,html,laravel,laravel-5.3,Php,Html,Laravel,Laravel 5.3,这是我的观点,我不知道为什么我的嵌套looop不工作,请帮助我 <ul> @foreach($users as $m) <li> {{$m->namecategory}} <ul> @foreach($m->namesubcategory as $nam) &
<ul>
@foreach($users as $m)
<li> {{$m->namecategory}}
<ul>
@foreach($m->namesubcategory as $nam)
<li>{{$nam->namesubcategory}}
<ul>
@foreach($nam->namesubling as $lan)
<li>{{$lan->namesubling}}</li>
@endforeach
</ul>
</li>
@endforeach
</ul>
</li>
@endforeach
</ul>
我正努力做到这一点
-mobile and accessory (mastercategory)
1.mobile(subcategory)
1.iphone(subling)
2.mobile cover(subcategory)
1.iphone cover(subling)
-electronic(mastercategory)
1.laptop(subcategory)
1.hp(subling)
根据您的var_dump,$m->namesubcategory-不是数组。 $m->namesubcategory,$nam->namesubling也不一样。
你不能用“foreach”来形容他们 您必须从集合中创建另一个数组。 然后你就能得到你需要的任何东西
$result = [];
foreach ($users as $u) {
$result[ $u-> namecategory ] = $result[ $u-> namecategory ] ?? [];
$result[ $u-> namecategory ][$namesubcategory] = $result[ $u-> namecategory ][$namesubcategory] ?? [];
$result[ $u-> namecategory ][$namesubcategory][] = $u-> namesubling;
}
结果,您将有一个如下所示的数组
result [mobile and assces]
[mobile]
[iphone]
[mobile cover]
[nexu cover]
然后,您将能够像您希望的那样“foreach”这个数组
请注意,syntaxis“$a=$b['xx']??[];”-PHP7,因为
$m
中不存在sub
?您是否可以打印$users数组以检查数组中是否存在问题?这将导致堆栈溢出!请拿着这本书,四处看看,通读一遍,特别是上面没有足够的细节来帮助您。@manian我没有问题,它是让valuevar_dump$用户并提供您问题的输出。还有其他解决方案吗?我如何为每个或任何其他方法使用嵌套的吗?我已经编写了html代码,我试图在上面实现的是还有其他方法吗或者是我可以遵循的技巧,我打算像这样编写HTML- @foreach($users as$m)@endforeach
result [mobile and assces]
[mobile]
[iphone]
[mobile cover]
[nexu cover]