Condition::condition

public Condition::condition($field, $value = NULL, $operator = '=')

Helper function: builds the most common conditional clauses.

This method can take a variable number of parameters. If called with two parameters, they are taken as $field and $value with $operator having a value of =.

Do not use this method to test for NULL values. Instead, use QueryConditionInterface::isNull() or QueryConditionInterface::isNotNull().

Drupal considers LIKE case insensitive and the following is often used to tell the database that case insensitive equivalence is desired:

db_select('users')
 ->condition('name', db_like($name), 'LIKE')

Use 'LIKE BINARY' instead of 'LIKE' for case sensitive queries.

Note: When using MySQL, the exact behavior also depends on the used collation. if the field is set to binary, then a LIKE condition will also be case sensitive and when a case insensitive collation is used, the = operator will also be case insensitive.

Parameters

$field: The name of the field to check. If you would like to add a more complex condition involving operators or functions, use where().

$value: The value to test the field against. In most cases, this is a scalar. For more complex options, it is an array. The meaning of each element in the array is dependent on the $operator.

$operator: The comparison operator, such as =, <, or >=. It also accepts more complex options such as IN, LIKE, LIKE BINARY, or BETWEEN. Defaults to =.

Return value

\Drupal\Core\Database\Query\ConditionInterface The called object.

Overrides ConditionInterface::condition

See also

\Drupal\Core\Database\Query\ConditionInterface::isNull()

\Drupal\Core\Database\Query\ConditionInterface::isNotNull()

File

core/lib/Drupal/Core/Database/Query/Condition.php, line 66

Class

Condition
Generic class for a series of conditions in a query.

Namespace

Drupal\Core\Database\Query

Code

public function condition($field, $value = NULL, $operator = '=') {
  if (empty($operator)) {
    $operator = '=';
  }
  if (empty($value) && is_array($value)) {
    throw new InvalidQueryException(sprintf("Query condition '%s %s ()' cannot be empty.", $field, $operator));
  }

  $this->conditions[] = array(
    'field' => $field,
    'value' => $value,
    'operator' => $operator,
  );

  $this->changed = TRUE;

  return $this;
}
doc_Drupal
2016-10-29 08:51:48
Comments
Leave a Comment

Please login to continue.