- 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

