/Drupal 8

public function 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:

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


$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




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


Generic class for a series of conditions in a query.




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;

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.