Skip to content

Commit

Permalink
fixed cfgTags subselect in TextConcatType
Browse files Browse the repository at this point in the history
  • Loading branch information
Rico Kaltofen committed Dec 20, 2018
1 parent aa7d2c3 commit 8c3bd41
Showing 1 changed file with 10 additions and 7 deletions.
17 changes: 10 additions & 7 deletions src/Filter/Type/TextConcatType.php
Expand Up @@ -11,6 +11,7 @@
use Contao\Database;
use Contao\StringUtil;
use Contao\System;
use Doctrine\DBAL\Query\QueryBuilder;
use HeimrichHannot\FilterBundle\Filter\AbstractType;
use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel;
use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder;
Expand Down Expand Up @@ -56,14 +57,16 @@ public function buildQuery(FilterQueryBuilder $builder, FilterConfigElementModel
$associationProperty = System::getContainer()->get('huh.utils.string')
->removeLeadingString('tl_', $filter['dataContainer']).'_id';

$builder->innerJoin($filter['dataContainer'], $associationTable, 'ta', $filter['dataContainer'].'.id='.'ta.'.$associationProperty);
$builder->innerJoin($filter['dataContainer'], 'tl_cfg_tag', 'tn', 'ta.cfg_tag_id='.'tn.id');
$subBuilder = new QueryBuilder(System::getContainer()->get('database_connection'));

$andWhere = $builder->expr()->andX();
$andWhere->add('tn.name LIKE '.$wildcard);

$conditions[] = $andWhere;
$builder->setParameter($wildcard, '%'.strtolower($data[$name]).'%');
$builder->orWhere(
$builder->expr()->in($filter['dataContainer'].'.id',
$subBuilder->select('ta.'.$associationProperty)
->from($associationTable, 'ta')
->join('ta', 'tl_cfg_tag', 'tn', 'ta.cfg_tag_id='.'tn.id')
->where('tn.name LIKE '.$wildcard)->setParameter($wildcard, '%'.strtolower($data[$name]).'%')->getSQL()
)
);
} elseif (Database::getInstance()->fieldExists($field, $filter['dataContainer'])) {
$textualFields[] = $field;
}
Expand Down

0 comments on commit 8c3bd41

Please sign in to comment.