ich die Mutt Form innerhalb der Mix Formular eingebettet haben: MixForm.class.php:Formular mit eingebetteten Beziehung nicht speichern Symfony 1.4 Lehre
$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();
muss ich die neu für die Mix-Tabelle erstellt id Form um das mix_id-Feld in der Mutt-Tabelle aufzufüllen.
<?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();?>
Hier ist meine Aktion in modules/mix/Aktionen/actions.class.php
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;
}
Die Validierung Form richtig funktioniert, aber es wird nicht in einer Datenbank gespeichert werden. Was mache ich falsch ??
Ich kombinierte die Aktion und das funktionierte gut, um das Formular zu speichern, bevor ich das andere Formular hinzufügte. Alles, was ich getan habe, war $ request-> getFiles ($ this-> form-> getName()) zu binden, da das eingebettete Formular eine Datei-Upload-Komponente hat. – Lauren
Nun, es funktioniert nicht auf mehreren Formularen, wenn es eine Komponente zum Hochladen von Dateien gibt, also ist es Zeit für einen anderen Ansatz. Es gibt eine eingehende Anleitung zum Einbetten von Formularen unter http://www.symfony-project.org/more-with-symfony/1_4/en/06-Advanced-Forms, die in die Tiefe geht, um sfForm oder sfFormDoctrine einzubetten Objekte. – coltraneofmars