It appears that the Drupal 7 version of the argument for Nodequeue: Subqueue reference does not work. The results are not filtered down to only the subqueue specified by the identifier provided.
Here's the Drupal 6 query:
SELECT DISTINCT(node.nid) AS nid_1,
node.title AS node_title,
node.nid AS nid,
nodequeue_nodes_node.position AS nodequeue_nodes_node_position
FROM node node
INNER JOIN nodequeue_nodes nodequeue_nodes_node
ON node.nid = nodequeue_nodes_node.nid
AND nodequeue_nodes_node.qid = 1
WHERE (nodequeue_nodes_node.sqid = 26 )
ORDER BY nodequeue_nodes_node_position ASC
Here's the Drupal 7 query:
SELECT node.title AS node_title, node.nid AS nid, nodequeue_nodes_node.position AS nodequeue_nodes_node_position
FROM {node} node
INNER JOIN {nodequeue_nodes} nodequeue_nodes_node
ON node.nid = nodequeue_nodes_node.nid
LEFT JOIN {nodequeue_subqueue} nodequeue_nodes_node__nodequeue_subqueue
ON nodequeue_nodes_node.sqid = nodequeue_nodes_node__nodequeue_subqueue.sqid
WHERE (( (nodequeue_nodes_node__nodequeue_subqueue.reference = '26') )
AND(( (node.status = '1') )))
ORDER BY nodequeue_nodes_node_position ASC
The problem is the name of the column in the WHERE clause: nodequeue_nodes_node__nodequeue_subqueue.reference
. There is no column named "reference" in the nodequeue_nodes table, instead this column should be "sqid". Fortunately there is a quick + easy way to define the real field name needed in views. If we add a single line 'real field' => 'sqid',
we start getting the intended results.
Comment | File | Size | Author |
---|---|---|---|
#2 | nodequeue-subqueue_reference-2882242-2.patch | 437 bytes | jenlampton |
Comments
Comment #2
jenlamptonPatch for review.
Comment #3
jenlamptonNo, I was wrong. this is the table with the reference column. Closing issue.