1
  public function executeNew(sfWebRequest $request)
  {
    $this->form = new JobeetJobForm();
  }

  public function executeCreate(sfWebRequest $request)
  {
    $this->forward404Unless($request->isMethod('post'));

    $this->form = new JobeetJobForm();

    $this->processForm($request, $this->form);

    $this->setTemplate('new');
  }

    protected function processForm(sfWebRequest $request, sfForm $form)
  {
    $form->bind($request->getParameter($form->getName()));
    if ($form->isValid())
    {
      $jobeet_job = $form->save();

      $this->redirect('job/edit?id='.$jobeet_job['id']);
    }
  }

我用学说生成器生成了模块。我想制作:如果我编辑当前作业并单击保存,那么我想创建具有新 ID 和与当前编辑作业相同数据的新对象作业,而不是保存此编辑。我怎样才能做到?我想让它和维基百科一样。

编辑: 我不知道如何打开动作编辑,编辑几个字段并单击保存,而是保存我想创建新对象的更改。我必须在processForm中编辑什么?

4

2 回答 2

3

这正是Doctrine 可版本化行为的目标。

于 2012-04-20T08:33:31.230 回答
0

当您需要保留所有相关对象的版本时。您可以序列化对象并将其保存在数据库中。查看 github 上的 JMSerializerBundle。

于 2012-04-21T09:04:56.897 回答