2010-08-10 2 views
1

У меня есть два класса с отношением один-ко-многим. И я хочу создать вложенную форму для ввода объекта и некоторых других, связанных с ним.symfony: проблема с методом 'embedRelation'

Но когда я сохраняю форму, ключ, который ссылается на мой основной класс, не обновляется ключом основного класса. Однако создаются другие ключи.

Моя схема:

Enfant: 
    connection: doctrine 
    tableName: enfant 
    columns: 
    id: 
     type: integer(2) 
     fixed: false 
     unsigned: true 
     primary: true 
     autoincrement: true 
    nudparent: 
     type: string(20) 
     fixed: false 
     unsigned: false 
     primary: false 
     notnull: false 
     autoincrement: false 
    relations: 
    Locataire: 
     local: nudparent 
     foreign: nud 
     type: one 
Locataire: 
    connection: doctrine 
    tableName: locataire 
    columns: 
    nud: 
     type: string(20) 
     fixed: false 
     unsigned: false 
     primary: true 
     autoincrement: false 
    nbenfants: 
     type: integer(1) 
     fixed: false 
     unsigned: true 
     primary: false 
     notnull: false 
     autoincrement: false 
    relations: 
    Bail: 
     local: nud 
     foreign: locataire 
     type: many 
    Enfant: 
     local: nud 
     foreign: nudparent 
     type: many 
    Refus: 
     local: nud 
     foreign: nud 
     type: many 

И делая вид:

$subForm = new sfForm(); 
for ($i = 0; $i < 2; $i++) 
{ 
    $enfant = new Enfant(); 
    $enfant->Locataire = $this->getObject(); 

    $form = new EnfantForm($enfant); 

    $subForm->embedForm($i, $form); 
} 
$this->embedForm('new', $subForm); 
+0

Не могли бы вы разместить схему Locataire, пожалуйста. – johnwards

+0

+1, у меня такая же проблема со многими формами, и мне нужно сделать что-то вроде «parent-> setChild ($ child)»; и снова сохраните родителя, чтобы заставить его работать. Я думаю, что это автоматическое сохранение работает, если ребенок ссылается на родителя, но не наоборот. – greg0ire

+0

@johnwards: Я уже опубликовал схему Locataire, я не вижу, что вы хотите ... @gregOire: В учебниках я видел, что мы можем это сделать, но когда я делаю то же самое, t work – Elorfin

ответ