J'utilise le module indicateur pour permettre aux utilisateurs de marquer leurs questions comme résolues, de la même manière que cela fonctionne sur ce site. Je souhaite donc permettre aux utilisateurs de filtrer les messages pour n'afficher que les questions non résolues. De plus, certains messages peuvent ne pas être du tout des questions. Par conséquent, ils ne peuvent pas avoir d'indicateur "résolu", mais ils ne devraient pas non plus apparaître dans les résultats lors du filtrage uniquement par des questions non résolues. Par conséquent, je dois joindre la table de noeud avec deux autres: flag_content
et field_data_field_question
(cette dernière table est ce qui indique si une publication est une question ou non).
Voici le code actuel que j'essaie:
$query->join('flag_content', 'f', 'f.content_id = n.nid AND f.content_type = "node" AND f.fid = 5');
$query->join('field_data_field_question', 'q', 'q.entity_id = n.nid AND q.field_question_value = 1');
$query->condition('f.fid', 'NULL', 'IS');
$query->condition('q.field_question_value', 'NULL', 'IS NOT');
Cependant, cela entraîne l'erreur suivante:
PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''NULL') AND (q.field_question_value IS NOT 'NULL')
LIMIT 21 OFFSET 0' at line 4: SELECT n.nid AS nid
FROM
{node} n
INNER JOIN {field_data_field_category} t ON t.entity_id = n.nid
INNER JOIN {flag_content} f ON f.content_id = n.nid AND f.content_type = "node" AND f.fid = 5
INNER JOIN {field_data_field_question} q ON q.entity_id = n.nid AND q.field_question_value = 1
WHERE (t.field_category_tid = :db_condition_placeholder_0) AND (f.fid IS :db_condition_placeholder_1) AND (q.field_question_value IS NOT :db_condition_placeholder_2)
LIMIT 21 OFFSET 0; Array
( [:db_condition_placeholder_0] => 464 [:db_condition_placeholder_1] => NULL [:db_condition_placeholder_2] => NULL
)
in queryExecuteRender_recentActivity() (line 57 of someFile.php).
N'est-ce pas la bonne façon de passer des NULL
valeurs dans une requête?