В моем администраторе У меня есть OneToMany определила как это:Sonata Admin - Невозможно получить sonata_type_collection работы с модальным
/**
* @ORM\OneToMany(targetEntity="Module", mappedBy="sequence", cascade={"persist", "remove"})
*/
private $modules;
И с инвертированием стороны:
/**
* @ORM\ManyToOne(targetEntity="ModuleSequence", inversedBy="modules", cascade={"persist"}, fetch="LAZY")
* @ORM\JoinColumn(name="sequence_id", referencedColumnName="id")
*/
protected $sequence;
В моем классе админ я определил поле 'модулей позволяет как это:
->add('modules', 'sonata_type_collection',array(
'by_reference' => false
))
Наконец в ModuleSequence Entity здесь метод AddModule:
/**
* Add modules
*
* @param \AppBundle\Entity\Module $module
* @return ModuleSequence
*/
public function addModule(\AppBundle\Entity\Module $module)
{
$module->setSequence($this);
$this->modules[] = $module;
return $this;
}
У меня есть кнопка «Добавить», я получаю модальную, я заполняю ее и проверяю. Запрос Ajax отправляется в профилировщик, но не появляется новая строка.
«sequence_id» не задан в базе данных, и я не знаю, почему ... Любая идея, пожалуйста?
Когда я использую параметры 'inline' & 'table', идентификатор хорошо установлен.