|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre confirmé
![]() Inscription : février 2009 Messages : 317 ![]() |
Bonjour,
Voici l'exemple de ce que je veux faire : Une voiture à une couleur et cette couleur est une table à part. Dans la table voiture on a donc un attribut couleur_id. Si on supprime une couleur et que celle ci est référencée dans la table voiture alors il y a une erreur. C'est ce que je souhaite comme comportement (je ne souhaite pas mettre couleur_id à NULL par exemple). Par contre je voudrai avoir un message d'erreur propre et pas la page erreur500 de symfony... Quel moyens ou outils avons nous pour faire cela ? |
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Baptiste NaudinatDéveloppeur Web Inscription : mai 2011 Messages : 70 ![]() |
Hello,
Quel message d'erreur obtiens-tu exactement ? Passe en mode _dev pour le savoir si tu n'as pour l'instant que l'erreur 500. Ensuite tout dépend de ce que tu souhaite comme "erreur propre". Tu peux surcharger la page 500 pour en avoir une personnalisée qui affichera un message d'erreur choisi, ou bien arrêter l'exécution de l'action pour ne renvoyer qu'un texte/partial différent de celui d'origine, ou bien encore, si ton erreur est provoquée dans la vue (dans un template), tester ton champ couleur_id juste avant de l'afficher pour avoir un affichage différent selon qu'il est défini ou pas ... Doctrine offre aussi des options interessantes pour gérer les suppressions qui impactent d'autres entités : va faire un tour sur http://www.doctrine-project.org/proj...ve-persistence ça te donnera peut être des idées |
|
|
00
|
|
|
#3 |
|
Membre confirmé
![]() Inscription : février 2009 Messages : 317 ![]() |
Merci de ta réponse,
Il s'agit d'une erreur Mysql liée aux contraintes, ce qui est logique puisque j'essaye de supprimer un élément qui est référencé dans une autre table. Je voudrais simplement que cela me remette sur la page précédente avec un setFlash() disant impossible de supprimer etc... |
|
|
00
|
|
|
#4 | ||
|
Membre habitué
![]() Baptiste NaudinatDéveloppeur Web Inscription : mai 2011 Messages : 70 ![]() |
Alors je n'ai pas de modèle sous la main permettant de tester ce qui va suivre, mais je pense que ça devrait fonctionner :
Sur ta page d'erreur tu dois avoir le nom de l'exception ("Doctrine_Query_Exception" ou quelque chose du même genre). Note toi le, puis dans ton action, ajoute quelque chose comme : Code :
|
||
|
|
10
|
Copyright © 2000-2012 - www.developpez.com