Bonsoir à toutes et à tous

Voilà je débute depuis pas trop trop longtemps sous Symfony 1.4, et je souhaite utiliser le plugin sfForkedDoctrineApply dans mon projet Web Symfony.

J'ai réussi suite aux conseils avisés d'un internaute, à mettre en place un schéma à peu près correct.

Pour plus de clarté, le voici (avec uniquement les parties intéressantes, sinon on s'en sort pas ) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Membre:
  inheritance:
    type: simple
    extends: sfGuardUser
  actAs: { Timestampable: ~ }
  columns:
    is_banned:
      type: boolean
      default: false
 
sfGuardUserProfile:
  tableName: sf_guard_user_profile
  columns:
    user_id:
      type: integer(20)
      notnull: true
    fullname:
      type: string(80)
    validate:
      type: string(17)
    adresse: varchar(100)
    ville: varchar(50)
    sexe: tinyint
    bio: string(4000)
    signature: string(4000)
  # Don't forget this!
  relations:
    Membre:
      foreign: id
      local: user_id
      type: one
      foreignType: one
      foreignAlias: Profile
      onDelete: cascade
C'est couwle! Ça marche, grâce à ça j'ai un beau formulaire d'inscription (et bien d'autres choses encore, mais je ne les ai pas encore découvertes )

En revanche, cette nouvelle table (sfGuardUserProfile) vient remplacer certains champs que j'utilisais déjà de la table hérité sfGuardUser (dont mon héritage était 'jadis', de type column_aggregation).
Ces champ sont simplement les champs "last_name" et "first_name", respectivement remplacés par "lastname" et "firstname" dans la table "sfGuardUserProfile".

Le problème étant que j'utilise certains de ces champs (par exemple dans l'action show() du module "membres"), et que du coup je ne peux plus y avoir accès directement.

Quelles seraient les solutions à ce problème selon vous ?

Personnellement, je verrais bien 2 possibilités :

  • Faire une nouvelle requête dans l'action show() du contrôleur (ou une jointure)
  • Construire une méthode "getProfile" dans le modèle Membre se chargeant de me renvoyer les informations du profil d'un membre.


Est-ce que j'ai bon ? Voyez vous d'autres éventualités ?

Merci par avance de vos réponses et de votre éventuel aide!