Ajouter un commentaire

Soumis par Felip Manyer i… (non vérifié) le 15/02/2022 à 17:16 - Permalien

Merci beaucoup Fabrice !

Quelques notes :
— Pour un INNER JOIN au lieu d'un LEFT JOIN par défaut, rajouter 'type' => 'INNER' dans la définition de la jointure.
— Tant la valeur de left_table que le troisième argument de addRelationship() correspondent à un alias. Si besoin est, vérifier lequel utilise Views en faisant en sorte que la requête s'affiche dans la prévisualisation.

Pour mémoire, j'ai tenté de faire l'inverse, à savoir définir des relations et un argument dans la configuration de la vue, et les retirer dynamiquement ($view->removeHandler($view->current_display, 'relationship' | 'argument', ID)), mais ça ne fonctionne que dans un hook_views_pre_view()... curieux, et surtout trop tard, puisque dans certaines conditions des sous-requêtes ont déjà pu être générées sur la base de la configuration initiale.