Questions sur mise en place du plugin sfForkedDoctrineApply et utilisations
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 :aie: ) :
Code:
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! :)