试图循环通过具有项目的结果。项目有一个类型,并试图呼应每个组的类别标题。通常,这在一个循环中效果很好,但我认为$item-type foreach会把事情扔掉。有什么解决办法吗?
<h2>Package <?=$packages->id?></h2>
<?php foreach($packages->item as $item):?>
<?php foreach($item->type as $type):?>
<?php $subtype = null;?>
<?php if($subtype != $type->name)?>
<h3><?=$type->name?></h3>
<?=$item->name?><br>
<?php $subtype = $type->name;?>
<?php endforeach;?>
<?php endforeach;?>
数据库结构:
items
id name
1 mainitem1
2 mainitem2
3 item1
4 item2
5 item3
6 item4
types
id name
1 category 1
2 category 2
3 subcategory1
4 subcategory2
item_type
id item_id type_id
1 1 1
2 2 2
3 3 3
4 4 3
5 5 4
6 6 4
packages
id item_id
1 1
2 2
item_package
id package_id item_id
1 1 3
2 1 5
3 2 4
4 2 6
我目前的结果是:
package 1
category 1
item 3
category 1
item 5
category 2
item 4
category 2
item 6
期望的结果:
package 1
category 1
item 3
item 5
category 2
item 4
item 6