我想按顺序显示数组中的数据,如图所示:
答案 0 :(得分:1)
我会做一个CakePHP Helper。然后你可以在Helper中创建一个方法来生成你需要的列表标记。这是一个快速肮脏的......
class YourHelper extends AppHelper {
public function your_method(array $modelData) {
foreach ($modelData as $info) {
$markup = '<div>';
$markup .= '<h3>' . $info['Category']['title'] . '</h3>';
$markup .= '<ul>';
$allProducts = $info['Product'];
if (!empty($allProducts) {
foreach ($allProducts as $productInfo) {
$markup .= '<li>' . $productInfo['desc'] . '</li>';
}
} else {
$markup .= '<li>No products in this category!</li>';
}
$markup .= '</ul></div>';
}
return $markup;
}
确保在控制器或AppController
中包含帮助程序,然后您可以像在任何其他帮助程序中一样在视图中使用它。
显然我没有对此进行测试,但是使用这种方法,您应该能够拥有任意数量的children
,然后在每个Products
中都有{{1}}。
请告诉我这是否适合您。
答案 1 :(得分:1)
我将使用嵌套的foreach。
foreach($yourvariable as $data){
echo $data['Category']['title'];
foreach ($data['Product'] as $myproduct){
echo $product['whateverfield1'];
echo $product['whateverfield2'];
}
}