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 に答える