У меня есть отношение от Assembly до ComponentSlot. Это отношения OneToMany.
// Assembly
/**
* @ORM\OneToMany(targetEntity="ComponentSlot", mappedBy="assembly", cascade={"persist"})
* @Assert\Valid
*/
protected $componentSlots;
// ComponentSlot
/**
* @ORM\ManyToOne(targetEntity="Assembly", inversedBy="componentSlots")
*/
protected $assembly;
Схема, сгенерированная в базе данных, абсолютно в порядке. Правильные столбцы, правильные индексы и отношения.
Форма AssemblyType в Symfony2 содержит коллекцию ComponentSlotType. Я могу добавить несколько дочерних компонентов ComponentSlot. При сохранении все потомки Assembly и ComponentSlot сохраняются превосходно, за исключением того, что Assembly_id в таблице слотов компонентов имеет значение NULL.
Я скопировал настройки, которые были у меня в предыдущем проекте, которые прекрасно сохранили отношения, я совершенно тупик. Каскадное сохранение сохраняется в полях componentSlots сборки, и мой предыдущий опыт работы с OneToMany заключается в том, что мне не нужно делать здесь ничего особенного, об этом нужно позаботиться.
Любые указатели приветствуются:)