Yii Framework Forum: exploiter les données d'une jointure - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

exploiter les données d'une jointure Rate Topic: -----

#1 User is offline   fouss 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 394
  • Joined: 05-October 10
  • Location:Bamako Mali

Posted 01 December 2010 - 06:50 AM

Bonjour à tous,
Je voulais savoir concrètement exploiter les données d'une jointure avec yii.
Supposons que j'ai deux tables personne(id_personne,nom,id_sexe) et sexe(id_sexe,nom_sexe).

je veux afficher une table comme
_________________________________
id_personne|nom_personne|nom_sexe
_________________________________
1 |Jean |masculin
2 |Albert |masculin
3 |Alice |féminin
4 |Clementine |féminin
5 |Fousseni |masculin

J'ai générée les crud pour mes tables comme yii le demande.
merci pour votre aide
Posted Image
0

#2 User is offline   ouhman 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 119
  • Joined: 26-December 08

Posted 01 December 2010 - 07:00 AM

View Postfouss, on 01 December 2010 - 06:50 AM, said:

Bonjour à tous,
Je voulais savoir concrètement exploiter les données d'une jointure avec yii.
Supposons que j'ai deux tables personne(id_personne,nom,id_sexe) et sexe(id_sexe,nom_sexe).

je veux afficher une table comme
_________________________________
id_personne|nom_personne|nom_sexe
_________________________________
1 |Jean |masculin
2 |Albert |masculin
3 |Alice |féminin
4 |Clementine |féminin
5 |Fousseni |masculin

J'ai générée les crud pour mes tables comme yii le demande.
merci pour votre aide


Salut,

Premièrement l'utilisation d'une seconde table pour gérer les sexes n'a pas grand intérêt et ceci pour plusieurs raisons:

- Les jointures SQL sont gourmandes et sont a éviter autant que possible
- Dans le schéma que tu donnes, il ne semble pas nécessaire de travailler avec une table lookup (sexe) car cette dernière ne comporte pas d'éléments qui seront amener a changer fréquemment (me trompe-je?)

Ne pourrais-tu pas plutôt créer un champ enum dans ta base de données (enum('f', 'm')), qui te permetterait de faire cela?

Sinon pour répondre a ta question je te renvoi a la documentation qui est assez complète à ce niveau:

Tu peux soit directement joindre la table avec CDbCriteria:
http://www.yiiframew...ria#join-detail

Ou alors utiliser les relations au sein d'un modèle Active Record:
http://www.yiiframew...fr/database.arr

A+
0

#3 User is offline   fouss 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 394
  • Joined: 05-October 10
  • Location:Bamako Mali

Posted 01 December 2010 - 02:08 PM

View Postouhman, on 01 December 2010 - 07:00 AM, said:

Salut,

Premièrement l'utilisation d'une seconde table pour gérer les sexes n'a pas grand intérêt et ceci pour plusieurs raisons:

- Les jointures SQL sont gourmandes et sont a éviter autant que possible
- Dans le schéma que tu donnes, il ne semble pas nécessaire de travailler avec une table lookup (sexe) car cette dernière ne comporte pas d'éléments qui seront amener a changer fréquemment (me trompe-je?)

Ne pourrais-tu pas plutôt créer un champ enum dans ta base de données (enum('f', 'm')), qui te permetterait de faire cela?

Sinon pour répondre a ta question je te renvoi a la documentation qui est assez complète à ce niveau:

Tu peux soit directement joindre la table avec CDbCriteria:
http://www.yiiframew...ria#join-detail

Ou alors utiliser les relations au sein d'un modèle Active Record:
http://www.yiiframew...fr/database.arr

A+

Merci ouhman ............
comme tu le dit dans ce cas précis l’utilisation d'une seconde table n'est pas nécessaire.
C'était juste pour illustrer mon problème.
J'ai pu régler le problème en utilisant les relations dans le model (On y arrive difficilement sans bien comprendre comment ça marche). Je vais aussi explorer la 1ère piste que tu me donne.
Merci à tous et bon vent à Yii
Posted Image
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users