{
"id": "1",
"item_quantity": "3",
"item_id": "3",
"item_color": "White",
},
{
"id": "2",
"item_quantity": "3",
"item_id": "3",
"item_color": "Black",
},
{
"id": "3",
"item_quantity": "3",
"item_id": "4",
"item_color": "White",
},
大家好,我使用foreach在Laravel输出的是这个,
ItemId:3 ItemQuantity:3 ItemColor:白色
ItemId:3 ItemQuantity:3 ItemColor:黑色
ItemId:4 ItemQuantity:3 ItemColor:White
但我需要的是将这些项目与这样的相同ID组合起来
ItemID:3 ItemQuantity:3 ItemColor:White / ItemQuantity:3 ItemColor:黑色
ItemId:4 ItemQuantity:3 ItemColor:白色
BTW我在我的视图中使用Table,而Foreach显示可能是数据。
谢谢你们..这是Laravel 4.2
答案 0 :(得分:0)
@foreach($items as $item1)
<tr>{{$item1->id}}</td>
<td>{{$item1->item_quantity}}</td>
<td>{{$item1->item_color}}</td>
@foreach($items as $item2)
@if($item1->item_id == $item2->item_id)
<td>{{$item2->item_quantity}}</td>
<td>{{$item2->item_color}}</td>
@endif
@endforeach
</tr>
@endforeach
答案 1 :(得分:0)
我不确定你的输入对象是什么,但是这样:
function group_items($items){
$groupedOutput = array();
for each($items as $item){
$key = 'id_'.$item;
if(!array_key_exists($key, $groupedOutput)){
$groupedOutput[$key] = array();
}
$groupedOutput[$key][] = $item;
}
return $groupedOutput;
}
function print_items($groupedOutput){
for each($groupedOutput as $items){
for each($items as $item){
$itemId = $item['item_id'];
$itemQuantity = $item['item_quantity'];
$itemColor = $item['item_color'];
echo "ItemID:$itemId ItemQuantity:$itemQuantity ItemColor:$itemColor/ ";
}
}
}
//To group output
$groupedOutput = group_items($items);
//To print grouped output
print_items($groupedOutput);
// OR
var_dump(json_encode($groupedOutput));