我无法在动作文件中传递关联数组以及重定向/转发。使用Symfony 1.3.11。
显然存在一些缺陷,但这是我的思路:进行数据库查询,解析结果,将它们添加到关联数组(它们的ID作为键)并将用户重定向到页面他和关联数组一起来了。
$products = array();
foreach ($results as $res) {
$product = $res->getProduct();
$products[$product->getId()] = $product;
}
$this->getRequest()->setParameter("products", $products);
$this->forward("main", "index");
这是返回的错误消息:
可捕获的致命错误:无法转换类Product的对象 串入 /var/www/perfecthomeweb/lib/vendor/symfony-1.3.11/lib/escaper/sfOutputEscaperObjectDecorator.class.php 在第98行
注意:我最初的偏好是使用
$this->redirect($request->getReferer());
与所需的关联数组一起使用,如下所示:
$this->redirect($request->getReferer() . "?persons=" . $persons);
这显然不起作用,我很确定我对POST / GET缺乏了解是部分原因。但是,如果使用$ request-> getReferer()这是可行的,那将是我明确的偏好,因为它感觉流畅和动态。
答案 0 :(得分:0)
防止错误的一个解决方案是在此行中创建一个字符串:
$products[$product->getId()] = $product;
例如,通过及早激发错误:
$products[$product->getId()] = (string) $product;
然后,您可以考虑要将哪个字符串表示放在那里。我不知道,我无法暗示。可能你正在寻找JSON?
$products[$product->getId()] = json_encode($product);