Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] jDao et jointures autre que sur la primary table

Posted by Nigoki on 01/29/2009 12:08

Bonjour à tous,

Une petite question concernant jDao. Dans le fichier de base XML peut on ajouter une jointure entre deux foreigntables ?

Voici mon exemple :

Une table commande

  <primarytable name="admin_commande" realname="admin_commande" primarykey="id" />

Une table membre, avec jointure sur le pseudo

 	<foreigntable name="membres" realname="membres" primarykey="pseudo" onforeignkey="pseudo" />

Dans la table membres j'ai un champ pays qui contient l'id du pays du membre. Le libellé du pays est contenu dans une table à part. Et le problème evidemment c'est quand je souhaite faire cette jointure comme ceci :

 <optionalforeigntable name="pays" realname="pays" primarykey="pays" onforeignkey="pays" />

Jelix cherche le champ pays dans la primarytable ce qui est normal. Existe-t-il un attribut pour les balises <optionalforeigntable> et <foreigntable> pour indiquer la table avec qui faire la jointure dans le cas ou ce n'est pas avec la primarytable ou un truc dans le genre ?

J'espère avoir été clair, Merci d'avance pour vos réponses.

  [Opened] Re: jDao et jointures autre que sur la primary table

Reply #1 Posted by jelix57 on 01/29/2009 13:28

L'attribut realname indique le nom de ta table. Sachant que l'on utilise :

foreigntable pour indiquer une table étrangère liée par une jointure normale.
optionalforeigntable pour indiquer une table étrangère liée par une jointure externe.

cf. Correspondance avec plusieurs tables

Et dans ta section record la propriété concernant le nom du pays doit être renseignée comme suit :

<property name="nompays" fieldname="nom_champ" table="nom_table" datatype="string" />

Sachant que si tu utilise optionalforeigntable cette propriété poura être vide dans ton record.

ça t'aide ?

  [Opened] Re: jDao et jointures autre que sur la primary table

Reply #2 Posted by laurentj on 01/29/2009 14:18

Bonjour,

Existe-t-il un attribut pour les balises <optionalforeigntable> et <foreigntable> pour indiquer la table avec qui faire la jointure dans le cas ou ce n'est pas avec la primarytable ou un truc dans le genre ?

non.

 
Page
  1. jDao et jointures autre que sur la primary table