public function filter(QueryBuilder $queryBuilder, $filters, $sorters)
{
foreach ($filters as $filter) {
/**
* @var Filter $filter
*/
$queryBuilder->andWhere($this->getFilterExpression($queryBuilder, $filter));
}
foreach ($sorters as $sorter) {
/**
* @var Sorter $sorter
*/
if ($sorter->getAssociation() !== null) {
// Pull in associations
$this->addJoins($queryBuilder, $sorter);
}
$this->applyOrderByExpression($queryBuilder, $sorter);
}
}