我正在为练习制作原型发票。我正在使用CakePHP 3并且项目总是不同的,因此将它们与另一个表中的行相关联将不起作用。在每一行中,我都有一个名为items的列,其中包含一个数组:
array(
array("Name" => "apples",
"Desc" => "a fruit called apple",
"Price" => "1"
),
array("Name" => "orange",
"Desc" => "oranges",
"Price" => "2",
),
array("Name" => "watermelon",
"Desc" => "watermelon",
"Price" => "6"
)
);
我想使用该数组构建一个foreach循环来显示发票中的所有项目。
foreach ($items as $i => $row) {
echo $row['Name'] . $row['Price'] . $row['Desc'] . "<br>";
}
我正在尝试使用此方法从列中获取数据
<?php $items = $billing->items; ?>
然而,这是我收到的:
Warning (2): Invalid argument supplied for foreach() [APP/Template\Billing\invoice.ctp, line 56]
如果我试图回显数据,它回应它就好了。我不明白为什么我不能把它变成变量。
<?= h($billing->items); ?>
答案 0 :(得分:0)
Cake仅为模型关联而不是列创建实体。在这种情况下,如果您必须使用某种类型的Collection
方法或php array_*
函数手动设置属性。
编辑:
如果您要存储为序列化数组,则必须先将其反序列化