public function SelectComplexTest::testNestedConditions in Drupal 8
Same name and namespace in other branches
- 9 core/tests/Drupal/KernelTests/Core/Database/SelectComplexTest.php \Drupal\KernelTests\Core\Database\SelectComplexTest::testNestedConditions()
Confirms that we can properly nest conditional clauses.
File
- core/
tests/ Drupal/ KernelTests/ Core/ Database/ SelectComplexTest.php, line 308
Class
- SelectComplexTest
- Tests the Select query builder with more complex queries.
Namespace
Drupal\KernelTests\Core\DatabaseCode
public function testNestedConditions() {
// This query should translate to:
// "SELECT job FROM {test} WHERE name = 'Paul' AND (age = 26 OR age = 27)"
// That should find only one record. Yes it's a non-optimal way of writing
// that query but that's not the point!
$query = $this->connection
->select('test');
$query
->addField('test', 'job');
$query
->condition('name', 'Paul');
$query
->condition((new Condition('OR'))
->condition('age', 26)
->condition('age', 27));
$job = $query
->execute()
->fetchField();
$this
->assertEqual($job, 'Songwriter', 'Correct data retrieved.');
}