function EntityFieldQuery::addCondition

Adds a condition to an already built SelectQuery (internal function).

This is a helper for hook_entity_query() and hook_field_storage_query().

Parameters

SelectQuery $select_query: A SelectQuery object.

$sql_field: The name of the field.

$condition: A condition as described in EntityFieldQuery::fieldCondition() and EntityFieldQuery::entityCondition().

$having: HAVING or WHERE. This is necessary because SQL can't handle WHERE conditions on aliased columns.

1 call to EntityFieldQuery::addCondition()
EntityFieldQuery::propertyQuery in includes/entity.inc
Queries entity tables in SQL for property conditions and sorts.

File

includes/entity.inc, line 1420

Class

EntityFieldQuery
Retrieves entities matching a given set of conditions.

Code

public function addCondition(SelectQuery $select_query, $sql_field, $condition, $having = FALSE) {
    $method = $having ? 'havingCondition' : 'condition';
    $like_prefix = '';
    switch ($condition['operator']) {
        case 'CONTAINS':
            $like_prefix = '%';
        case 'STARTS_WITH':
            $select_query->{$method}($sql_field, $like_prefix . db_like($condition['value']) . '%', 'LIKE');
            break;
        default:
            $select_query->{$method}($sql_field, $condition['value'], $condition['operator']);
    }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.