这是我的观点,我不知道为什么我的嵌套looop无法工作请帮助我
<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>
像这样抛出错误
为foreach()提供的参数无效(查看
这里是使用dd($ users)
输出的array:3 [▼
0 => {#209 ▼
+"idcategory": 1
+"namecategory": "mobile and assces"
+"created_at": null
+"updated_at": null
+"idsubcategory": 1
+"namesubcategory": "mobile"
+"idcategory_mastercategory": 1
+"idsubling": 1
+"namesubling": "iphone"
+"idsubcategory_subcategory": 1
}
1 => {#211 ▼
+"idcategory": 1
+"namecategory": "mobile and assces"
+"created_at": null
+"updated_at": null
+"idsubcategory": 2
+"namesubcategory": "mobile cover"
+"idcategory_mastercategory": 1
+"idsubling": 2
+"namesubling": "nexu cover"
+"idsubcategory_subcategory": 2
}
2 => {#212 ▼
+"idcategory": 2
+"namecategory": "elect"
+"created_at": null
+"updated_at": null
+"idsubcategory": 3
+"namesubcategory": "lap"
+"idcategory_mastercategory": 2
+"idsubling": 3
+"namesubling": "hp"
+"idsubcategory_subcategory": 3
}
]
我正在努力实现这个目标
-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)
答案 0 :(得分:1)
您必须从您的收藏中制作另一个数组。 然后你就能得到你需要的任何东西。
$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]
然后你就可以&#34; foreach&#34;这个数组就像你想要的那样。
请注意,那个syntaxis&#34; $ a = $ b [&#39; xx&#39;] ?? []; 强>&#34; - PHP7
答案 1 :(得分:0)
根据您的var_dump, $ m-&gt; namesubcategory - 不是数组。 $ m-&gt; namesubcategory , $ nam-&gt; namesubling 不太好。 你不能对他们使用“foreach”。