我在Fat Free Framework中获取结果:
$product = new DB\SQL\Mapper($db,'products');
$product->load(array('productId=:ID',':ID'=>$productId));
然后我使用dry()方法遍历$ product并对其中的某些字段进行一些计算。我想在我的模板中提供 $ product 的重新计算内容,所以我这样做:
$f3->set('product_contents', $product);
现在,在我的模板中,我做了:
<repeat group ="{{@product_contents}}" value="{{@item}}">
<p>{{@item.productName}}</p>
</repeat>
我收到此错误:
Internal Server Error
Illegal string offset 'productName'
我发现我的 {{@ product_contents}} 是映射器对象而不是数组,因此出错。
问题是: 如何在重复组中的模板中仍然使用$ product的内容?
答案 0 :(得分:1)
将cast()方法用于将mapper对象强制转换为数组:
$f3->set('product_contents', $product->cast());
答案 1 :(得分:0)
只需将结果加载到变量中
$output = $product->load(array('productId=:ID',':ID'=>$productId));
$f3->set('product_contents', $output);