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 ) :
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 )
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
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!
Partager