duanjieyi6582 2013-08-28 11:31
浏览 44
已采纳

Symfony:$ request-> setParameter不接受Object

I am having trouble passing an associative array along with a redirect/forward, done in the action-file. Using Symfony 1.3.11.

Obviously there is some flaw, however this is my train of thought: Make a db query, parse the results, add them to an associative array (their ID as key) and redirect the user to the page from whence he came, along with the associative array.

$products = array();

foreach ($results as $res) {

  $product = $res->getProduct();
  $products[$product->getId()] = $product;
}

$this->getRequest()->setParameter("products", $products);
$this->forward("main", "index");

This is the returned error message:

Catchable fatal error: Object of class Product could not be converted to string in /var/www/perfecthomeweb/lib/vendor/symfony-1.3.11/lib/escaper/sfOutputEscaperObjectDecorator.class.php on line 98

Note: My initial preference was to use the

$this->redirect($request->getReferer());

in conjunction with the desired associative array, looking like this:

$this->redirect($request->getReferer() . "?persons=" . $persons);

This obviously did not work, and I am pretty sure my lack of knowledge of POST/GET is partially to blame. However, if this is doable using $request->getReferer(), that would be my clear preference, as it feels fluid and dynamic.

  • 写回答

1条回答 默认 最新

  • duanbin3021 2013-08-28 11:36
    关注

    One solution to prevent the error is to create a string in this line already:

    $products[$product->getId()] = $product;
    

    For example by provoking the error early:

    $products[$product->getId()] = (string) $product;
    

    You then can think about which string representation you want to put there. As I don't know, I can not suggest that. Probably you're looking for JSON?

    $products[$product->getId()] = json_encode($product);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示