Je suis en train d'exécuter une logique avant de supprimer un champ. J'ai certains modèles qui dépendent du modèle en cours de suppression, et je veux m'assurer que les fichiers image liés à ces modèles dépendants sont également supprimés, mais je suis un peu confus sur la façon dont les callbacks fonctionnent.CakePHP Modèle Callback, plus précisément beforeDelete
Je sais que je l'avant Supprimer définir la fonction de la classe de modèle, mais comment puis-je accéder aux données dans le modèle actuel ou les modèles dépendants d'être supprimés?
function beforeDelete() {
}
Je suis juste un peu confus que l'utilisation de ces callbacks, et je n'ai pas vu une grande documentation là-bas. Après avoir ajouté ceci au modèle parent, il semble toujours retourner false.
function beforeDelete() {
if ($this->DependentModel->find('count', array('conditions' => array('DependentModel.parent_id' => $this->id))) == 1){
return true;
} else{
return false;
}
}
Devrait être évident ce que j'essaie de faire ici. Si une entrée du modèle dépendant est présente dans la table, renvoyez true et poursuivez la suppression. J'ai fait en sorte qu'il y ait en fait une entrée de table qui dépend de l'objet à supprimer. Lorsque j'exécute l'action de suppression, elle renvoie toujours false. Que se passe t-il ici?
Merci beaucoup, ce qui est excellent info! – wcolbert
Pas de problème. En réponse à votre modification, j'ai testé votre code à cette fin (sur 1.3) et je n'ai pas trouvé de défaut. Cela a fonctionné comme prévu, en supprimant seulement quand il y avait un seul enregistrement dépendant.J'attribuerais votre appel 'find ('count')' à une variable '$ count' puis' debug ($ count); die; 'pour déterminer si vous obtenez la valeur de retour attendue. – deizel