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).

Comments

jmuzz’s picture

Status: Active » Needs review
StatusFileSize
new929 bytes

This should fix it for the specific scenario described and it works for me.

mikeytown2’s picture

Status: Needs review » Fixed

Thanks for the patch, it has been committed. Sorry I forgot about this

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.