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フォームの検証が正常に動作しますが、それはデータベースのいずれかに保存されません。 私は何が間違っていますか?
他のフォームを追加する前に、この操作を組み合わせてフォームを保存しました。私がしたのは、埋め込みフォームにファイルアップロードコンポーネントがあるので、$ request-> getFiles($ this-> form-> getName())をバインドするだけでした。 – Lauren
ファイルアップロードコンポーネントがある場合は、複数のフォームでは機能しないため、別のアプローチが必要になります。 http://www.symfony-project.org/more-with-symfony/1_4/en/06-Advanced-Formsには、sfFormやsfFormDoctrineを埋め込むための徹底的なフォームが盛り込まれています。オブジェクト。 – coltraneofmars