- 1
[Opened] [Résolu] getPrimaryKeyNames ne me renvoie rien
Posted by PomCompot on 06/08/2009 15:33
Bonjour,
J'ai la déclaration de DAO suivante :
<?xml version="1.0" encoding="UTF-8"?> <dao xmlns="http://jelix.org/ns/dao/1.0"> <datasources> <primarytable name="modele_arbre" realname="modele_arbre" primarykey="ID_CLASSE,ID_MODELE" /> <foreigntable name="arbre_decision" realname="arbre_decision" primarykey="ID_CLASSE" onforeignkey="ID_CLASSE" /> <foreigntable name="decision" realname="decision" primarykey="ID_MODELE" onforeignkey="ID_MODELE" /> </datasources> <record> <property name="idClasse" fieldname="ID_CLASSE" datatype="int" required="true" table="arbre_decision" /> <property name="idModele" fieldname="ID_MODELE" datatype="int" required="true" table="decision" /> </record> </dao>
Lorsque j'appelle la méthode getPrimaryKeyNames avec le code ci-dessous, je ne récupère rien :
$dao = jDao::get('arbre~modele_arbre'); $pkNames = $dao->getPrimaryKeyNames();
Je remarque que dans la classe compilée, je n'ai effectivement rien dans la valeur $_pkFields retournée par cette méthode.
Un problème de compilation ou une mauvaise syntaxe ?
Merci d'avance.
[Opened] Re: getPrimaryKeyNames ne me renvoie rien
Posted by Yann.L on 06/08/2009 15:48
C'est parce que dans ta DAO tu as un problème au niveau du record, tu n'as pas de champs de table modele_arbre donc pas de PK, tu as que des champs des deux tables liées.
[Opened] Re: getPrimaryKeyNames ne me renvoie rien
Posted by PomCompot on 06/08/2009 16:00
Effectivement, merci beaucoup.
J'avais en fait mélanger le concept de déclaration de table étrangère et celui de clés étrangères.
Encore merci.
- 1