У меня есть два класса с отношением один-ко-многим. И я хочу создать вложенную форму для ввода объекта и некоторых других, связанных с ним.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);
Не могли бы вы разместить схему Locataire, пожалуйста. – johnwards
+1, у меня такая же проблема со многими формами, и мне нужно сделать что-то вроде «parent-> setChild ($ child)»; и снова сохраните родителя, чтобы заставить его работать. Я думаю, что это автоматическое сохранение работает, если ребенок ссылается на родителя, но не наоборот. – greg0ire
@johnwards: Я уже опубликовал схему Locataire, я не вижу, что вы хотите ... @gregOire: В учебниках я видел, что мы можем это сделать, но когда я делаю то же самое, t work – Elorfin