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.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

jenlampton created an issue. See original summary.

jenlampton’s picture

jenlampton’s picture

Status: Needs review » Closed (cannot reproduce)

No, I was wrong. this is the table with the reference column. Closing issue.