gpt4 book ai didi

mysql - 如何在 Laravel 中循环并输出嵌套数组

转载 作者:行者123 更新时间:2023-11-29 18:18:15 25 4
gpt4 key购买 nike

通过此示例,我尝试循环遍历嵌套数组并输出以下信息。

Collection {#252 ▼   #items: array:1 [▼
0 => Collection {#258 ▼
#items: array:4 [▼
0 => array:3 [▼
0 => "Stylish Hat"
1 => "Green"
2 => "2017-10-16 17:57:49"
]
1 => array:3 [▼
0 => "Stylish Hat"
1 => "Blue"
2 => "2017-10-16 17:57:49"
]
2 => array:3 [▼
0 => "Stylish Hat"
1 => "Red"
2 => "2017-10-16 18:00:24"
]
3 => array:3 [▼
0 => "Classic Hat"
1 => "Black"
2 => "2018-10-16 18:00:24"
]
]
} ] }
<小时/>

时尚帽子

颜色:绿色、蓝色、红色

发售日期:2017-10-16

<小时/>

经典帽子

颜色:黑色

发售日期:2018-10-16

<小时/>

我尝试了各种方法,但没有成功输出,所以我不确定我当前的代码是否有任何值(value),但这是我在黑暗中的尝试,这当然是完全错误的......

@foreach ($hatData->toArray() as $hatStyle => $color => $saleDate)
<div style="color:#333;font-size:14pt;">
<b>{{ $hatStyle }}</b>
</div>
@foreach($colors as $color)
<div style="color:#333;font-size:10pt;">
colors: {{ $color }}
</div>
<div>
Sale Date: {{ $saleDate }}
</div>
@endforeach
@endforeach

最佳答案

如果其他人在 Laravel 中使用 groupBy 处理嵌套数组的输出时遇到困难,我发现最简洁的方法如下。主循环是 groupBy 字段,内循环是每个组的独特特征。我的收藏的构造也与上面的示例略有不同。

我通过首先抓取所有记录然后按我想要的字段进行分组来构建数组。

      $mainCollection=records::where('this','=','that')->get();      

$selected = $mainCollection->map(function ($item) {
return [
'mainValue'=>$item->mainValue,
'itemOne' => $item->itemOne,
'itemTwo' => $item->itemTwo
];
});

$mainLoop=$selected->groupBy('mainValue');

然后为了输出,我使用了以下循环

      @foreach ( $mainLoop as $ml )

<div>
<u>{{ $ml[0]['mainValue'] }}</u>
</div>

@foreach( $ml as $item)
<div>
{{$item['itemOne']}} - {{ $item['itemTwo'] }}
</div>
@endforeach

@endforeach

不确定这是否太抽象而无法帮助其他人,也许这不是最好的方法,但我花了一些时间寻找并将我读到的不同内容拼凑在一起才能理解这一点。

关于mysql - 如何在 Laravel 中循环并输出嵌套数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46821542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com