flosy.info | Développement Web, Open source …

TAG | doctrine 1.2

Après avoir mis en place le plugin sfDoctrineGuard, je souhaitais disposer d’attributs complémentaires sur les utilisateurs.
Le plugin sfGuard pour symfony 1.0, disposait pour cela d’une classe liée Profile. Hors dans la version avec Doctrine ce n’est pas le cas.

Une première solution à ce problème aurait été d’utiliser la notion d’héritage proposée par Doctrine. Dans mon cas cela ne m’a pas paru utile car une seule classe dériverait de sfGuardUser.

La seconde solution est expliqué sur cette page http://www.symfony-project.org/gentle-introduction/1_4/en/17-Extending-Symfony dans le paragraphe Customizing the plug-in schema.
Nous allons tout simplement compléter (surcharger) le schéma de sfGuardUser (défini par dans le plugin) avec le schéma de notre projet. Ceci n’aura donc aucune influence sur le plugin en cas de mise à jour.

#Project schema,  config/doctrine/schema.yml
sfGuardUser:
  columns:
    phone:   varchar(30)
    fax:     varchar(30)
  relations:
    Companies:
      class: Company
      local: user_id
      foreign: company_id
      refClass: UserCompany

Vous noterez dans cet exemple qu’il est même possible d’ajouter de nouvelles relations.

Related Posts:

·

Theme Design by devolux.nh2.me