function SelectComplexTest::testNestedConditions in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/modules/system/src/Tests/Database/SelectComplexTest.php \Drupal\system\Tests\Database\SelectComplexTest::testNestedConditions()
Confirms that we can properly nest conditional clauses.
File
- core/
modules/ system/ src/ Tests/ Database/ SelectComplexTest.php, line 297 - Contains \Drupal\system\Tests\Database\SelectComplexTest.
Class
- SelectComplexTest
- Tests the Select query builder with more complex queries.
Namespace
Drupal\system\Tests\DatabaseCode
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 = db_select('test');
$query
->addField('test', 'job');
$query
->condition('name', 'Paul');
$query
->condition(db_or()
->condition('age', 26)
->condition('age', 27));
$job = $query
->execute()
->fetchField();
$this
->assertEqual($job, 'Songwriter', 'Correct data retrieved.');
}