Explicit join declarations

The links between tables are declared within SPIP in the ecrire/public/interfaces.php file. Further declarations can be added with the "declarer_tables_interfaces" pipeline.

Such a declaration might look like:

// suggest a join between sections and documents
$tables_jointures['spip_rubriques'][]= 'documents_liens';
// suggest a join between articles and authors, specifying the join field explicitly
$tables_jointures['spip_articles']['id_auteur']= 'auteurs_articles';

This shows the links that are possible between tables, When 2 tables can have several fields to link between them, the example above shows how to specify the linking field precisely.


It is even possible to create joins by calling non-existent fields, as demonstrated by the sample criterion {titre_mot=yy}, which can lead to a join on the "spip_mots" table, even though the "titre_mot" SQL field does not exist in that table. This is done as shown below:

$exceptions_des_jointures['titre_mot'] = array('spip_mots', 'titre');

Author Mark Baber Published : Updated : 12/03/23

Translations : English, français, Nederlands