У меня возникли проблемы с передачей ассоциативного массива вместе с перенаправлением/переходом, выполненным в файле действий. Использование Symfony 1.3.11.
Очевидно, что есть некоторые недостатки, однако это мой ход мысли: Сделайте db-запрос, проанализируйте результаты, добавьте их в ассоциативный массив (их идентификатор как ключ) и перенаправьте пользователя на страницу, откуда он пришел вместе с ассоциативным массивом.
$products = array();
foreach ($results as $res) {
$product = $res->getProduct();
$products[$product->getId()] = $product;
}
$this->getRequest()->setParameter("products", $products);
$this->forward("main", "index");
Это возвращается сообщение об ошибке:
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
Примечания: Мое первоначальное предпочтением было использовать
$this->redirect($request->getReferer());
в сочетании с требуемым ассоциативным массивом, похожими это:
$this->redirect($request->getReferer() . "?persons=" . $persons);
Это, очевидно, не сработало, и я уверен, что мое незнание POST/GET частично виновато. Однако, если это выполнимо с помощью $ request-> getReferer(), это было бы моим явным предпочтением, поскольку оно чувствует себя жидким и динамичным.
Я закончил установку значений форматированным строковым представлением объекта. Кажется, вы были правы в том, что должны передавать его как String, а не объект! – krystah