‪TYPO3CMS  ‪main
TYPO3\CMS\Core\Resource\Search\QueryRestrictions\SearchTermRestriction Class Reference
Inheritance diagram for TYPO3\CMS\Core\Resource\Search\QueryRestrictions\SearchTermRestriction:
TYPO3\CMS\Core\Database\Query\Restriction\QueryRestrictionInterface

Public Member Functions

 __construct (FileSearchDemand $searchDemand, QueryBuilder $queryBuilder)
 
 buildExpression (array $queriedTables, ExpressionBuilder $expressionBuilder)
 

Private Member Functions

 makeQuerySearchByTable (string $tableName, string $tableAlias)
 
 extractSearchableFieldsFromTable (string $tableName)
 

Private Attributes

FileSearchDemand $searchDemand
 
QueryBuilder $queryBuilder
 

Detailed Description

Filters result by a given search term, respecting search fields defined in search demand or in TCA.

Definition at line 30 of file SearchTermRestriction.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Core\Resource\Search\QueryRestrictions\SearchTermRestriction::__construct ( FileSearchDemand  $searchDemand,
QueryBuilder  $queryBuilder 
)

Member Function Documentation

◆ buildExpression()

TYPO3\CMS\Core\Resource\Search\QueryRestrictions\SearchTermRestriction::buildExpression ( array  $queriedTables,
ExpressionBuilder  $expressionBuilder 
)

Main method to build expressions for given tables

Parameters
array$queriedTables‪Array of tables, where array key is table alias and value is a table name
ExpressionBuilder$expressionBuilder‪Expression builder instance to add restrictions with
Returns
‪CompositeExpression The result of query builder expression(s)

Implements TYPO3\CMS\Core\Database\Query\Restriction\QueryRestrictionInterface.

Definition at line 46 of file SearchTermRestriction.php.

References TYPO3\CMS\Core\Resource\Search\QueryRestrictions\SearchTermRestriction\makeQuerySearchByTable(), and TYPO3\CMS\Core\Database\Query\Expression\ExpressionBuilder\or().

◆ extractSearchableFieldsFromTable()

TYPO3\CMS\Core\Resource\Search\QueryRestrictions\SearchTermRestriction::extractSearchableFieldsFromTable ( string  $tableName)
private

Get all fields from given table where we can search for.

Parameters
string$tableName‪Name of the table for which to get the searchable fields

Definition at line 130 of file SearchTermRestriction.php.

References $GLOBALS, and TYPO3\CMS\Core\Utility\GeneralUtility\trimExplode().

Referenced by TYPO3\CMS\Core\Resource\Search\QueryRestrictions\SearchTermRestriction\makeQuerySearchByTable().

◆ makeQuerySearchByTable()

TYPO3\CMS\Core\Resource\Search\QueryRestrictions\SearchTermRestriction::makeQuerySearchByTable ( string  $tableName,
string  $tableAlias 
)
private

Build the MySql where clause by table.

Parameters
string$tableName‪Record table name

Definition at line 64 of file SearchTermRestriction.php.

References $GLOBALS, and TYPO3\CMS\Core\Resource\Search\QueryRestrictions\SearchTermRestriction\extractSearchableFieldsFromTable().

Referenced by TYPO3\CMS\Core\Resource\Search\QueryRestrictions\SearchTermRestriction\buildExpression().

Member Data Documentation

◆ $queryBuilder

QueryBuilder TYPO3\CMS\Core\Resource\Search\QueryRestrictions\SearchTermRestriction::$queryBuilder
private

◆ $searchDemand

FileSearchDemand TYPO3\CMS\Core\Resource\Search\QueryRestrictions\SearchTermRestriction::$searchDemand
private