2010-12-06 3 views
0

のSymfony 1.4教義保存されませんフォームは、私はミックスのフォーム内のMuttのフォームに埋め込まれている

$this->embedRelation('Mutt'); 
$form = new MuttForm(null, array(
    'mix' =>$this->getObject(), 
)); 
$this->embedForm('Mutt', $form); 
$this->widgetSchema['Mutt'] = $form->getWidgetSchema(); 
$this->widgetSchema['Mutt']['mix_id'] = new sfWidgetFormInputHidden(); 
$this->validatorSchema['Mutt'] = $form->getValidatorSchema(); 

を私はミックス・テーブル用に新しく作成したIDのフォームを必要としますMuttテーブルのmix_idフィールドに値を設定します。ここで

<?php echo $form->renderHiddenFields();?> 
<?php echo $form['name']->renderRow();?> 
<?php echo $form['parent1']->renderRow();?> 
<?php echo $form['parent2']->renderRow();?> 
<?php echo $form['parent3']->renderRow();?> 
<?php echo $form['parent4']->renderRow();?> 
<?php echo $form['parent5']->renderRow();?> 
<?php echo $form['Mutt']['creator']->renderRow();?> 
<?php echo $form['Mutt']['email']->renderRow();?> 
<?php echo $form['Mutt']['website']->renderRow();?> 
<?php echo $form['Mutt']['caption']->renderRow();?> 
<?php echo $form['Mutt']['photo']->renderRow();?> 
<?php echo $form['Mutt']['copyright']->renderRow();?> 
<?php echo $form['Mutt']->renderHiddenFields();?> 

を/モジュール/ミックス/アクションで自分の行動である

public function executeEdit(sfWebRequest $request) 
    { 
    $this->form = new MixForm(); 
    if($request->isMethod('post')): 
     $this->form->bind($request->getParameter('mix'), $request->getFiles($this->form->getName())); 
     if($this->form->isValid()): 
      $this->form->save(); 
      $this->redirect('pure/add'); 
     endif; 
    endif; 
    } 

のactions.class.phpフォームの検証が正常に動作しますが、それはデータベースのいずれかに保存されません。 私は何が間違っていますか?

答えて

0

executeEditのアクションを定義していますが、processFormは、フォームの検証とデータベースへの保存が行われるアクションです。 executeEditは、既存のジョブを編集するときにフォームを表示するアクションです。 参照:http://www.symfony-project.org/jobeet/1_4/Doctrine/en/10#chapter_10_sub_the_form_action

+0

他のフォームを追加する前に、この操作を組み合わせてフォームを保存しました。私がしたのは、埋め込みフォームにファイルアップロードコンポーネントがあるので、$ request-> getFiles($ this-> form-> getName())をバインドするだけでした。 – Lauren

+0

ファイルアップロードコンポーネントがある場合は、複数のフォームでは機能しないため、別のアプローチが必要になります。 http://www.symfony-project.org/more-with-symfony/1_4/en/06-Advanced-Formsには、sfFormやsfFormDoctrineを埋め込むための徹底的なフォームが盛り込まれています。オブジェクト。 – coltraneofmars

関連する問題