J'utilise Doctrine 1.2 dans mon projet. Le fichier schema.yml contient:Doctrine cascade: [delete] n'appelle pas delete() méthode des objets associés
Campaign:
tableName: campaign
actAs:
Timestampable:
created:
name: created_datetime
type: timestamp
format: Y-m-d H:i:s
updated:
disabled: true
columns:
id:
type: integer(9)
fixed: false
unsigned: false
primary: true
autoincrement: true
...
relations:
CampaignImages:
local: id
foreign: campaign_id
type: many
cascade: [delete]
...
CampaignImages:
tableName: campaign_images
columns:
id:
type: integer(9)
fixed: false
unsigned: false
primary: true
autoincrement: true
campaign_id:
type: integer(9)
fixed: false
unsigned: false
primary: false
notnull: true
autoincrement: false
...
Je définis CampaignImages :: delete() méthode et de mettre un code de débogage là-bas, mais il ne sera pas exécutée lors de la campagne :: delete() est appelée.
N'est-ce pas la cascade: [delete] signifie précisément pour cette raison? Je ne souhaite pas utiliser les cascades au niveau de la base de données, car les fichiers image associés à CampaignImage doivent être supprimés lors de la suppression de l'enregistrement.
Merci Kuba, je cherchais juste cette. – fest