Problem/Motivation

If we share a term reference field between two entities and the next exmaple ocurrs:
Node[nid:99,field_term_reference:term2]
Node[nid:100,field_term_reference:term1]
Profile[entity_id:100,field_term_reference:term2]

If you have a node view with a filter by field_term_reference=term2, the views results includes node=99 and node=100 when only node99 should be returned.

Proposed resolution

Include the entity column in the INNER JOINS with fields.

CommentFileSizeAuthor
#1 tags.view_.txt3.21 KBdawehner

Comments

dawehner’s picture

Status: Active » Postponed (maintainer needs more info)
StatusFileSize
new3.21 KB

I created a view as you described and got the following sql back, which looks fine for me.

SELECT node.created AS node_created, node.nid AS nid
FROM 
{node} node
INNER JOIN {field_data_field_tags} field_data_field_tags ON node.nid = field_data_field_tags.entity_id AND (field_data_field_tags.entity_type = 'node' AND field_data_field_tags.deleted = '0')
WHERE (( (node.status = '1') AND (field_data_field_tags.field_tags_tid = '1') ))
ORDER BY node_created DESC
LIMIT 10 OFFSET 0

Maybe this was fixed between 3.3 and dev, but actually i doubt that.

How does your sql and view export look like?

esmerel’s picture

Status: Postponed (maintainer needs more info) » Closed (cannot reproduce)