Automatisme des jointures

Lorsqu’elles ne sont pas explicitement déclarées à SPIP, les jointures sont calculées. Pour cela, SPIP compare entre eux les noms des champs des différentes tables.

Lorsqu’une boucle, par exemple AUTEURS cherche un critère absent de sa table, par exemple {prenom=Daniel}, SPIP va regarder dans les autres tables qu’il connaît et qui ont des champs homonymes à la table auteur (par exemple la clé id_auteur) si elles possèdent le champ « prenom » demandé. Si l’une d’elles le possède, une jointure sera réalisée entre ces deux tables.

Par exemple, si une table AUTEURS_ELARGIS existe (plugin « Inscription 2 ») avec les champs « id_auteur » et « prenom », une jointure serait réalisée.

objet, id_objet

SPIP 2.0 introduit une nouvelle recherche de jointure. Les clés primaires d’une table, dans ce cas « id_auteur » de la table spip_auteurs, en plus d’être cherchées dans des champs homonymes sur d’autres tables, sont aussi cherchées dans les tables possédant le couple de champ « objet » et « id_objet », tel que, ici, « objet=auteur ». C’est par exemple le cas de la table spip_documents_liens.

Auteur Matthieu Marcillaud Publié le : Mis à jour : 21/11/09

Traductions : English, français