Bonjour
Une idée pourquoi la jointure avec spip_mots_liens ne fonctionne pas?
18 <BOUCLE_liste_partenaires_types(PARTENAIRES_TYPES
spip_mots_liens) {id_mot?}{id_auteur?}{where?}{recherche?}{tri #ENV{par,num
titre},#GET{defaut_tri}}{par titre}{pagination #ENV{nb,10}}>
Est-ce la faute de la PRIMARY KEY atypique "id_type" de la table
spip_partenaires_types?
Bonne journée
Rainer
Le 11 février 2017 à 16:12, <spip-zone-commit@rezo.net> a écrit :
Author: abelass@gmail.com
Date: 2017-02-11 16:12:11 +0100 (Sat, 11 Feb 2017)
New Revision: 102819
Modified:
_plugins_/partenaires/
_plugins_/partenaires/trunk/base/partenaires.php
_plugins_/partenaires/trunk/prive/objets/liste/partenaires_types.html
Log:
jointure avec spip_mots_liens ne fonctionne pas, je ne vois pas ce qui
cloche
Details: Connexion · GitLab
_______________________________________________
Spip-zone-commit@rezo.net - http://listes.rezo.net/
mailman/listinfo/spip-zone-commit
je viens de l’essayer
[(#ENV{id_auteur}|oui)[(#VAL{auteur}|setenv{objet})][(#ENV{id_auteur}|setenv{id_objet})]]
[(#ENV{id_mot}|oui)[(#VAL{mot}|setenv{objet})][(#ENV{id_mot}|setenv{id_objet})]]
<BOUCLE_liste_partenaires_types(PARTENAIRES_TYPES){id_objet?}{objet?}{where?}{recherche?}{tri #ENV{par,num titre},#GET{defaut_tri}}{par titre}{pagination #ENV{nb,10}}>
ne fonctionne pas car le join porte sur spip_partenaires_types_liens au lieu de spip_mots_liens
SELECT partenaires_types.id_type, 0 as points, ‹ ›, partenaires_types.titre, partenaires_types.titre AS titre_rang
FROM spip_partenaires_types AS partenaires_types
INNER JOIN spip_partenaires_types_liens AS L1 ON ( L1.id_type = partenaires_types.id_type )
WHERE (L1.objet = ‹ mot ›)
AND (L1.id_objet = 4000021)
GROUP BY partenaires_types.id_type
ORDER BY 0+partenaires_types.titre, partenaires_types.titre
<BOUCLE_liste_partenaires_types(PARTENAIRES_TYPES){spip_mots_liens.id_mot?}{id_auteur?}{where?}{recherche?}{tri #ENV{par,num titre},#GET{defaut_tri}}{par titre}{pagination #ENV{nb,10}}>
donne un fausse requette
SELECT partenaires_types.id_type, 0 as points, ‹ ›, partenaires_types.titre, partenaires_types.titre AS titre_rang
FROM spip_partenaires_types AS partenaires_types
INNER JOIN spip_mots_liens AS L1 ON ( L1.id_objet = partenaires_types.id_type AND L1.objet=‹ type ›)
WHERE (L1.id_mot = 4000021)
GROUP BY partenaires_types.id_type
ORDER BY 0+partenaires_types.titre, partenaires_types.titre
L1.objet=‹ type ›
au lieu de
L1.objet=‹ partenaires_type ›
Visiblement spip déduit que lobjet est ‹ type ›, vu que la clé est ‹ id_type ›, comment lui faire comprendre que l’objet de liaison est ‹ partenaires_type › ?