Доктрина 2.1: Как установить "cascade: persist" с помощью yaml
Я получаю ошибку, когда пытаюсь сделать
$b = new B();
$a->addB($b);
$entityManager->persist($a);
потому что мне сначала нужно сохранить $b, однако я не могу этого сделать, поэтому мне нужно установить cascade: persist I believe. Я просто не могу найти в документации, как это сделать, используя схему yaml. документация не покрывает эту часть (я пробовал в других местах в документации)
Ура
3 ответов
это работает для меня
oneToMany:
products:
targetEntity: Name
mappedBy: product
cascade: ["persist"]
Если класс A имеет ассоциацию, скажем, один ко многим в B, а переменная ArrayCollection в A называется $bcollection, то раздел YAML для cascade={"persist"} будет выглядеть так:
oneToMany:
bcollection:
targetEntity: Entities\B
cascade
- persist
mappedBy: contact
inversedBy: null
orphanRemoval: false
orderBy: null
Если ты пробовал cascade: ["persist"]
и все равно не работает вот почему.
по состоянию на 2016-08-28, я использую последнюю версию Доктрины в это время.
Учение persist
больше не работает, потому что это удалены.
основная причина заключается в том, что вы не должны изменять первичный ключ подключенной таблицы. И если да, то почему?
вот почему cascade persist
удаляется в доктрине YML 2.
ссылки: https://groups.google.com/forum/#!тема/учения-пользователей/fdL7sgtjRM0