‪TYPO3CMS  ‪main
LikeWildcard.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
22 
27 enum ‪LikeWildcard: int
28 {
30  case NONE = 0;
31 
33  case LEFT = 1;
34 
36  case RIGHT = 2;
37 
39  case BOTH = 3;
40 
49  public function ‪getLikeQueryPart(string $tableName, string $fieldName, string $likeValue): string
50  {
51  $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)
52  ->getQueryBuilderForTable($tableName);
53 
54  $string = ($this->value & self::LEFT->value ? '%' : '')
55  . $queryBuilder->escapeLikeWildcards($likeValue)
56  . ($this->value & self::RIGHT->value ? '%' : '');
57 
58  return $queryBuilder->expr()->like($fieldName, $queryBuilder->quote($string));
59  }
60 }
‪TYPO3\CMS\IndexedSearch\Utility\getLikeQueryPart
‪@ getLikeQueryPart
Definition: LikeWildcard.php:49
‪TYPO3\CMS\IndexedSearch\Utility\LikeWildcard
‪LikeWildcard
Definition: LikeWildcard.php:28
‪TYPO3\CMS\IndexedSearch\Utility
Definition: IndexedSearchUtility.php:18
‪TYPO3\CMS\Core\Database\ConnectionPool
Definition: ConnectionPool.php:46
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:52