有没有办法对例如您的产品进行预测,并按category_id对其进行排序,并在产品上方显示类别名称。 (我使用laravel 4作为框架)
示例输出应该是什么样的:
Chairs
wooden chair number 1
pretty chair number 1
pretty chair number 2
Doors
tall door number 1
white door number 1
关键问题:如何在没有每行上方的类别名的情况下制作一个foreach?
希望我明白我的问题/问题,有人可以帮助我!
这是我到目前为止所得到的:
但是,当我在刀片中执行foreach时,我会收到错误:“Undefined index”
我在控制器中使用的foreach:
foreach($results as $result) {
$category[$result->category_id][] = $result;
}
我在剑刃中的预告:
@foreach ($category as $key => $product)
<tr>
<td>{{ $product[$key]['created_at'] }}</td>
<td>{{ $product[$key]['order_id'] }}</td>
<td>{{ $product[$key]['name'] }}</td>
</tr>
@endforeach
答案 0 :(得分:1)
您正在尝试使用category_id从$ products中获取$ product,这是具有0-X索引的数组。为了简单起见,我将忽略html格式和语法,因为我从未使用过提到过的框架......
@foreach ($category as $key => $products)
echo 'Category #', $key
@foreach ($products as $product)
<tr>
<td>{{ $product['created_at'] }}</td>
<td>{{ $product['order_id'] }}</td>
<td>{{ $product['name'] }}</td>
</tr>
@endforeach
@endforeach
答案 1 :(得分:0)
不完全确定我理解这个问题。但如果我试图组织一个数组..我可能会在foreach循环中使用条件语句。我不确定你的问题是否很清楚......看看这有什么用呢
foreach($results as $result) {
// just an example.. i narrow down what I push into my category array
if($result->type == 'whatever'){
$category[$result->category_id][] = $result;
}
}