如何在不影响每一行的情况下进行foreach?
问题描述:
有没有办法对你的产品做一个foreach,并按category_id排序,并在产品上方显示类别名称。 (我使用laravel 4作为框架)如何在不影响每一行的情况下进行foreach?
一例的输出应该是什么样子:
Chairs
wooden chair number 1
pretty chair number 1
pretty chair number 2
Doors
tall door number 1
white door number 1
关键问题:如何让我不必每行上面的类别名称一个foreach?
希望我提出了我的问题/问题清楚,有人可以帮助我!
这是我走到这一步:
不过,当我做我的foreach在刀片我会得到错误:“未定义指数”
我在我的控制器使用的的foreach:
foreach($results as $result) {
$category[$result->category_id][] = $result;
}
我在刀片的foreach:
@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
答
您正试图使用CATEGORY_ID从$产品,这是阵列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
答
不能完全确定我unders解决问题。但如果即时通讯尝试组织一个数组..我可能会在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;
}
}
什么是你得到的输出?错误消息? – eluong 2014-08-28 16:58:20
未定义的索引:(mybladefile)-----当我填充而不是$ key时,它的值为0或1。但是,当我var_dump $键输出1 – yinshiro 2014-08-28 16:59:15