我想在一个页面中修改两个表单。我用Doctrine生成了一个模块。我有:
public function executeEdit(sfWebRequest $request)
{
$this->forward404Unless($news = Doctrine_Core::getTable('News')->find(array($request->getParameter('news_id'))), sprintf('Object news does not exist (%s).', $request->getParameter('news_id')));
$this->form = new NewsForm($news);
}
这很好。
我补充说:
public function executeEdit(sfWebRequest $request)
{
$this->forward404Unless($news = Doctrine_Core::getTable('News')->find(array($request->getParameter('news_id'))), sprintf('Object news does not exist (%s).', $request->getParameter('news_id')));
$this->form = new NewsForm($news);
$this->forward404Unless($other = Doctrine_Core::getTable('Other')->findByNewsId(array($request->getParameter('other_id'))), sprintf('Object other does not exist (%s).', $request->getParameter('other_id')));
$this->form = new OtherForm($other);
}
我收到此错误:
500 | Internal Server Error | sfException The "OtherForm" form only
accepts a "Other" object.
我使用findByNewsId()
这没关系 - 如果我做foreach然后我有这些对象,但我不能在表单中显示。 我怎样才能做到这一点?
答案 0 :(得分:1)
听起来(粗略地)你想要在一个表单中编辑多个对象 - 所以在你的例子中,多个“其他”项目(你的问题目前有点不清楚)。如果是这样,您可能需要查看Symfony的嵌入式表单功能 - 有关详细信息,请参阅this tutorial。