为什么嵌套循环中laravel不工作

为什么嵌套循环中laravel不工作

问题描述:

这里是我的看法,我不知道为什么我的嵌套德路不能正常工作,请帮助我为什么嵌套循环中laravel不工作

  <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($用户)

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 
    } 
] 

和IM尝试实现这一

 -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) 
+2

因为'sub'不'$ M'存在吗? –

+0

可以打印$ users数组来检查数组中是否存在问题 – manian

+1

欢迎使用Stack Overflow!请[参观],看看周围,并通读[帮助],尤其是[*我如何问一个好问题?](/帮助/如何问)没有足够的上面的细节能够有效地帮助你。 –

根据您的var_dump,$ M-> namesubcategory - 不是一个数组。 $ m-> namesubcategory,$ nam-> namesubling不是很好。 你不能对他们使用“foreach”。

+0

任何其他解决方案如何我可以使用嵌套为每个或任何其他方法 –

+0

你能写HTML代码,你想要得到 – bahek2462774

+0

我已经写了HTML代码,我试图实现以上是有任何其他的方法或者说我可以按照实现这一 –

你必须从你的集合中创建另一个数组。 然后你将能够得到你需要的任何东西。

$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”这阵像你想。

请注意,即大成 “$ A = $ B [ 'XX']?[];” - PHP7