【问题标题】:Two forms in one module一个模块中的两种形式
【发布时间】:2011-11-04 14:53:14
【问题描述】:

我想在一页中修改两个表单。我用 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 则我有这些对象,但我无法在表单中显示它。 我怎样才能做到这一点?

【问题讨论】:

    标签: php symfony1 doctrine symfony-1.4


    【解决方案1】:

    听起来(大致)您希望在一个表单中编辑多个对象 - 因此在您的示例中,多个“其他”项目(您的问题目前还不太清楚)。如果是这样,您可能想看看 Symfony 的嵌入式表单功能 - 详情请参阅 this tutorial

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-28
      • 1970-01-01
      • 1970-01-01
      • 2013-12-13
      • 2014-04-12
      • 1970-01-01
      • 1970-01-01
      • 2013-06-12
      相关资源
      最近更新 更多