Having some trouble with the getPropertyValue() function, it looks like it's not including the base table if it's not already included in the query.
This works:
$query = new EntityFieldQueryExtra();
$query->entityCondition('entity_type', 'node')
->entityCondition('bundle', 'co_file')
->propertyCondition('nid', 0, '>')
->fieldCondition('field_co_file_parents', 'target_id', $nid)
->getFieldValue('field_co_file_type', 'value')
->getPropertyValue('title');
This doesn't:
$query = new EntityFieldQueryExtra();
$query->entityCondition('entity_type', 'node')
->entityCondition('bundle', 'co_file')
->fieldCondition('field_co_file_parents', 'target_id', $nid)
->getFieldValue('field_co_file_type', 'value')
->getPropertyValue('title');
and gives the error:
PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'node.title' in 'field list': SELECT DISTINCT field_data_field_co_file_parents0.entity_type AS entity_type, field_data_field_co_file_parents0.entity_id AS entity_id, field_data_field_co_file_parents0.revision_id AS revision_id, field_data_field_co_file_parents0.bundle AS bundle, field_data_field_co_file_type101.field_co_file_type_value AS field_co_file_type_value, node.title AS title FROM {field_data_field_co_file_parents} field_data_field_co_file_parents0 LEFT JOIN {field_data_field_co_file_type} field_data_field_co_file_type101 ON field_data_field_co_file_type101.entity_type = field_data_field_co_file_parents0.entity_type AND field_data_field_co_file_type101.entity_id = field_data_field_co_file_parents0.entity_id WHERE (field_data_field_co_file_parents0.field_co_file_parents_target_id = :db_condition_placeholder_0) AND (field_data_field_co_file_parents0.deleted = :db_condition_placeholder_1) AND (field_data_field_co_file_parents0.entity_type = :db_condition_placeholder_2) AND (field_data_field_co_file_parents0.bundle = :db_condition_placeholder_3) ; Array ( [:db_condition_placeholder_0] => 163584 [:db_condition_placeholder_1] => 0 [:db_condition_placeholder_2] => node [:db_condition_placeholder_3] => co_file ) in field_sql_storage_field_storage_query() (line 585 of /home/data/drupal/installations/co/codev2/modules/field/modules/field_sql_storage/field_sql_storage.module).
| Comment | File | Size | Author |
|---|---|---|---|
| #1 | entityfieldqueryextra_property-value-fix_2412011_1.patch | 929 bytes | jmuzz |
Comments
Comment #1
jmuzz commentedThis should fix it for the specific scenario described and it works for me.
Comment #2
mikeytown2 commentedThanks for the patch, it has been committed. Sorry I forgot about this