1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
public function configure()
{
...
$profileForm = new ArtisanForm();
$this->embedForm('Artisan', $profileForm);
}
public function saveEmbeddedForms($con = null, $forms = null)
{
if (is_null($forms))
{
$forms = $this->embeddedForms;
}
foreach ($forms as $form)
{
if ($form instanceof sfFormDoctrine)
{
$field_name = $this->getObject()->getTable()->getTableName().'_id';
if($form->getObject()->contains($field_name)) {
$method_name = 'set'.sfInflector::camelize($field_name);
$form->getObject()->$method_name($this->getObject()->getId());
}
// Here it ends
$form->getObject()->save($con);
$form->saveEmbeddedForms($con);
}
else
{
$this->saveEmbeddedForms($con, $form->getEmbeddedForms());
}
}
//parent::saveEmbeddedForms($con, $forms);
} |
Partager