function BasicSyntaxTest::testLikeBackslash
Same name in other branches
- 9 core/tests/Drupal/KernelTests/Core/Database/BasicSyntaxTest.php \Drupal\KernelTests\Core\Database\BasicSyntaxTest::testLikeBackslash()
- 8.9.x core/tests/Drupal/KernelTests/Core/Database/BasicSyntaxTest.php \Drupal\KernelTests\Core\Database\BasicSyntaxTest::testLikeBackslash()
- 10 core/tests/Drupal/KernelTests/Core/Database/BasicSyntaxTest.php \Drupal\KernelTests\Core\Database\BasicSyntaxTest::testLikeBackslash()
Tests a LIKE query containing a backslash.
File
-
core/
tests/ Drupal/ KernelTests/ Core/ Database/ BasicSyntaxTest.php, line 106
Class
- BasicSyntaxTest
- Tests SQL syntax interpretation.
Namespace
Drupal\KernelTests\Core\DatabaseCode
public function testLikeBackslash() : void {
$this->connection
->insert('test')
->fields([
'name',
])
->values([
'name' => 'abcde\\f',
])
->values([
'name' => 'abc%\\_',
])
->execute();
// Match both rows using a LIKE expression with two wildcards and a verbatim
// backslash.
$num_matches = $this->connection
->select('test', 't')
->condition('name', 'abc%\\\\_', 'LIKE')
->countQuery()
->execute()
->fetchField();
$this->assertSame('2', $num_matches, 'Found 2 records.');
// Match only the former using a LIKE expression with no wildcards.
$num_matches = $this->connection
->select('test', 't')
->condition('name', $this->connection
->escapeLike('abc%\\_'), 'LIKE')
->countQuery()
->execute()
->fetchField();
$this->assertSame('1', $num_matches, 'Found 1 record.');
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.