CakePHP - delete cascade ne fonctionne pas
Dans CakePHP, j'ai un Type de modèle et SpecificType.
SpecificType belongTo un Type. (type_id champ)
Quand je supprimer une entrée de SpecificType, comment puis-je supprimer aussi le Type?
Je l'ai comme
$this->SpecificType->del($id, true)
Cependant, l'entrée en vertu de Type n'est pas supprimé.
Merci,
Tee
Pourquoi voulez-vous supprimer le type de base lorsque vous supprimez un type spécifique? Delete cascade doit être effectuée uniquement sur hasMany pas belongsTo
OriginalL'auteur teepusink | 2011-04-19
Vous devez vous connecter pour publier un commentaire.
Je ne pense pas que vous pouvez supprimer le Type avec SpecificType cascade. vous ne pouvez utiliser cascade si il y a hasMany ou relation HABTM.
il est dit dans le manuel.
vous pouvez toujours exécuter le
pour supprimer votre Type avec les SpecificType-s.
OriginalL'auteur Headshota
Vous souhaitez supprimer le Type, pas le SpecificType. Vous devez également vous assurer que vous avez votre modèle défini correctement pour le Type:
Puis supprimer le type et il va fonctionner.
Si vous êtes à la suppression de l'enfant (
SpecificType
) et que vous souhaitez le supprimer de parent, vous devez appeler le supprimer sur le modèle parent. Mais gardez à l'esprit, si vous avez la Cascade a mis en place correctement (dependent = true
sur le modèle) tous lesSpecificType
enfants seront supprimés de toute façon.Remarque: Si vous souhaitez supprimer le parent de l'enfant, vous pouvez vouloir reconsidérer votre relation et de confirmer qu'ils sont corrects. Si c'est vraiment la façon dont vous les voulez, alors ne faites pas la supprimer sur l'enfant. Assurez-vous simplement que votre cascade relations sont définies correctement, tirez le parent de l'enfant de l'information, et de supprimer le parent. Ensuite, tous les enfants seront supprimés.
OriginalL'auteur Chuck Burgess
J'ai eu le même problème dans une situation où je n'ai pas envie de suivre les Gâteau modèle clés de la convention.
J'ai mis le SpecificType du modèle belongsTo relation de Type:
Ensuite, pour obtenir la suppression en cascade pour le travail, j'ai ajouté ce qui suit à la SpecificType modèle:
J'espère que ça aide quelqu'un qui a le même problème que vous aviez comme je suis sûr que vous n'êtes pas encore en attente d'une réponse.
OriginalL'auteur MorganGalpin