You are here

public function SelectExtender::condition in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/lib/Drupal/Core/Database/Query/SelectExtender.php \Drupal\Core\Database\Query\SelectExtender::condition()

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

2 calls to SelectExtender::condition()
SearchQuery::execute in core/modules/search/src/SearchQuery.php
Executes the search.
SearchQuery::prepareAndNormalize in core/modules/search/src/SearchQuery.php
Prepares the query and calculates the normalization factor.

File

core/lib/Drupal/Core/Database/Query/SelectExtender.php, line 108
Contains \Drupal\Core\Database\Query\SelectExtender.

Class

SelectExtender
The base extender class for Select queries.

Namespace

Drupal\Core\Database\Query

Code

public function condition($field, $value = NULL, $operator = '=') {
  $this->query
    ->condition($field, $value, $operator);
  return $this;
}