Я немного запутался об отношениях между сущностями, как manyToMany, oneToMany и т.д.Немного запутались базы данных отношений - Doctrine2 YAML
Что я запутался о точно, если я удалить или удалить запись из базы данных , как мы можем сказать, удалить реляционные сущности.
Например:
manyToMany
Категория Entity:
manyToMany:
posts:
targetEntity: PostEntity
mappedBy: taxonomies
Сценарий один:
Если удалить или удалить одну из этих категорий, немедленно удалить все отношения в post_taxonomy_relations
таблице , Что мы можем использовать для этого? Каскад или Orphanremoval?
Сообщение Entity:
manyToMany:
taxonomies:
targetEntity: TaxonomyEntity
inversedBy: posts
joinTable:
name: post_taxonomy_relations
joinColumns:
post_id:
referencedColumnName: id
inverseJoinColumns:
taxonomy_id:
referencedColumnName: id
Сценарий два:
Если вы только удалить (в децибелах) одну из этих записей, удалять связанный объект в post_taxonomy_relations
oneToMany & ManyToOne
Почтовый шаблон:
oneToMany:
products:
targetEntity: PostEntity
cascade: ["remove"]
mappedBy: post_template
joinColumn:
name: id
referencedColumnName: template_id
Сценарий один:
Если удалить один из этих объектов, удалить соответствующие должности либо. Работает с cascade: ["remove"]
. Но если вы удалите этот объект (уровень db), установите значение null или удалите связанные сообщения. Как мы можем это сделать?
Сообщение Entity:
manyToOne:
template:
targetEntity: PostTemplateEntity
inversedBy: products
joinColumn:
name: template_id
referencedColumnName: id
Если удалить или удалить этот пост, ничего не делать.
Хорошо, я пытаюсь привыкнуть к этим каскадным операциям.
Каждый ответ, в котором есть образцы, наиболее ценен для меня. Спасибо.
Хорошо, но мне нужны примеры с конфигурацией yaml bebeğim. –
Обновлен мой ответ :) –