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

  [Opened] [résolu] isFK est toujours à false

Posted by mmendez on 05/03/2011 18:35

Salut,

j'utilise actuellement la version 1.2.2 de jelix et j'ai besoin de savoir si un attribut d'une table est une clé étrangère ou pas. voici la déclaration de ma DAO :

<datasources>
<code>
        <primarytable name="dev" primarykey="dev_id" />
        <foreigntable name="toto" primarykey="totobis" onforeignkey="orga" />
</datasources>
    <record>
        //....
        <property name="titi" fieldname="name" datatype="string" table="toto" />
    </record>
</code>

et lorsque je fais :

getProperties()

sur cette DAO, la valeur isFK est toujours à false.

Mes hypothèses :

  • il manque un attribut dans les balises xml genre (isFK="true")
  • ce n'est pas dutout comme ça qu'il faut s'y prendre ...

je n'ai rien trouvé dans la doc qui puisse m'aider donc si quelqu'un à une idée lumineuse je serai ravi qu'il la partage.

Merci d'avance

  [Opened] isFK est toujours à false

Reply #1 Posted by laurentj on 05/03/2011 18:39

Salut,

si tu as récupéré la valeur de isFK pour la propriété titi, ça me parait normal d'après ta déclaration datasource.

  [Opened] Re: isFK est toujours à false

Reply #2 Posted by mmendez on 05/04/2011 11:54

re,

effectivement l'exemple n'est pas explicite mais mon problème reste le même, voici mon code quasi complet :

la DAO (devstage.dao.xml)

<datasources>
<code>
        <primarytable name="devstage" primarykey="devstage_id" />
        <foreigntable name="organism" primarykey="organism_id" onforeignkey="organism_id" />
        <foreigntable name="cvterm" primarykey="cvterm_id" onforeignkey="cvterm_id" />
        <foreigntable name="type" realname="cvterm" primarykey="cvterm_id" onforeignkey="type_id" />
    </datasources>
    <record>
        
        <property name="organism_id" fieldname="organism_id" datatype="int" required="true" table="organism" />
        <property name="cvterm_id" fieldname="cvterm_id" datatype="int" required="true" table="cvterm"/>
       //...
    </record>
</code>

le controlleur

var_dump(jDao::get('devstage')->getProperties());

et la réponse

array(2) { ("organism_id")=> array(19) { ("isFK")=> bool(false)} ("cvterm_id")=> array(19) { ("isFK")=> bool(false)} }

...

je ne comprend pas pourquoi isFK est à false sur ces attributs qui sont si je ne m'abuse des clés étrangères...

Daileur pour toutes mes autres DAO isFK est à false.

Merci

  [Opened] isFK est toujours à false

Reply #3 Posted by laurentj on 05/04/2011 12:13

Après investigation, je confirme le bug et j'ai trouvé où il se trouve et comment le corriger. Patch très prochainement.

  [Opened] Re: isFK est toujours à false

Reply #4 Posted by mmendez on 05/04/2011 12:17

Un grand merci !

  [Opened] [résolu] isFK est toujours à false

Reply #5 Posted by laurentj on 05/04/2011 15:02

Bug corrigé sur les 3 branches 1.1, 1.2 et trunk. Il remonte à loin ! :-)

Demain les nightlies incorporeront cette correction (1.2.3pre).

 
Page
  1. [résolu] isFK est toujours à false