Bonsoir !
Mon titre n'est peut-être pas très explicite, je vais donc tenter de m'expliquer un peu mieux ici
J'ai créé un module avec comme schema.xml le code suivant :
<table name="product_complement">
<column name="product_id" primaryKey="true" required="true" type="INTEGER" />
<column name="type" required="true" type="TINYINT" default="0" />
<column name="capacity" required="false" type="INTEGER" />
<foreign-key foreignTable="product" name="fk_product_container_product_id" onDelete="CASCADE" onUpdate="RESTRICT">
<reference foreign="id" local="product_id" />
</foreign-key>
<index name="idx_product_container_product_id">
<index-column name="product_id" />
</index>
</table>
La relation entre ces deux table est de type 1:1.
La foreign a été mise en place sur cette nouvelle table, ce qui fait que je peux accéder à la table \Thelia\Model\Product à partir de mon objet \Module\ProductComplement, avec les méthodes automatiquement crées ressemblant à "joinProduct()"
Par contre, si je souhaite accéder à \Module\ProductComplement depuis \Thelia\Model\Product, là ça ne marche pas du tout, la méthode "generate:model" ne créant pas la méthode correspondante "joinProductComplement()" dans l'autre sens.
J'ai tenté d'ajouter ceci dans mon schéma (pour surcharger en quelque sorte le modèle Product, mais ça m'a renvoyé dans les roses.
<table name="product">
<foreign-key foreignTable="product_complement" name="fk_product_product_container_id" onDelete="CASCADE" onUpdate="RESTRICT">
<reference foreign="product_id" local="id" />
</foreign-key>
</table>
J'ai dû louper quelque chose de tout simple, y a-t-il un élément à modifier dans le schéma ou ailleurs avant la compilation ?
Merci beaucoup !
Staneus
Last edited by Staneus (09-06-2014 18:59:01)