je me suis demander un truc avec les table de jointure, Avant je faisait :
$tables_interfaces['tables_jointures']['table_principale'] = 'table_jointure'
mais ca peux pas marcher si vos tables principales sont liées à
plusieurs autres tables principales...
ca donnerais cela :
$tables_interfaces['tables_jointures']['table_principale'] =
'table_jointure_blabla'
$tables_interfaces['tables_jointures']['table_principale'] =
'table_jointure_test'
Ce qui n'ajouterais qu'une seul table de jointure vu que je
n'incrémente pas le tableau, mais le remplace par un string ...
Plus terrible encore, je suis retourné dans la doc que j'avais écrite
pour voir comment j'ai expliquer cela et je me rend compte que j'ai
mis .. les deux !!!
Donc ma question est:
Pour déclarer des tables de jointure, la bonne facon est de faire :
$tables_interfaces['tables_jointures']['table_principale'][] =
'table_jointure_blabla';
$tables_interfaces['tables_jointures']['table_principale'][] =
'table_jointure_test';
Donc ma question est:
Pour déclarer des tables de jointure, la bonne facon est de faire :
$tables_interfaces[‹ tables_jointures ›][‹ table_principale ›] =
‹ table_jointure_blabla ›;
$tables_interfaces[‹ tables_jointures ›][‹ table_principale ›] =
‹ table_jointure_test ›;
Oui mais il faut ensuite déclarer ces tables auxiliaires en tant que
« jointure » des principales en attaquant le pipeline
declarer_tables_interfaces
non ?
En fait en SPIP2.0 c’est devenu beaucoup plus simple :
on peut voir qu’en 1.9, il fallait utiliser le pipeline « declarer_tables_auxiliaires », maintenant c’est directement dans « declarer_tables_principales ».
Avant on était obligé de faire une déclaration explicite la table dans le tableau $tables_principales, avec la clef primaire double. Et d’utiliser declarer_tables_interface pour expliciter les correspondances des champs (dans $interface[‹ tables_jointures ›] et $interface[‹ exceptions_des_tables ›]
Maintenant, SPIP2.0 détecte automatiquement la table de jointure.