2010-10-12 15 views
0

Actuellement, je développe une application dont le modèle de domaine devrait empêcher la duplication d'objets selon l'égalité ou non de certains champs d'objet. Donc, je pense à gérer cette comparaison sur la méthode save de la classe: si un objet existant a des propriétés égales à l'objet à sauvegarder, l'enregistrement doit être évité.Sauvegarde de la méthode save et gestion des exceptions

Je pense à traiter cette situation avec des exceptions, qui seraient lancées et attrapées dans l'action, afin de présenter un message à l'utilisateur, si nécessaire. Malheureusement, ma connaissance des exceptions n'est pas très bonne et plus: cette solution serait-elle la plus adéquate?

L'ORM que j'utilise est Doctrine.

Répondre

0

Pourquoi ne pas créer un index unique sur plusieurs colonnes de votre schéma: Voici un exemple tiré de Doctrine's manual:

MultipleIndexTest: 
    columns: 
    name: string 
    code: string 
    age: integer 
    indexes: 
    myindex: 
     fields: 
     name: 
      sorting: ASC 
      length: 10 
     code: - 
     type: unique 
+0

Salut! Honnêtement, je ne considère pas l'approche que vous avez mentionnée, mais elle semble aussi valide. Je n'ai qu'un doute: comment puis-je définir des messages appropriés à l'utilisateur, avec la solution que vous avez suggéré, il n'est pas nécessaire de gérer avec le contrôleur et afficher? –

+0

Doctrine lancera une exception que vous pourrez gérer avec un bloc try-catch. – Maerlyn