private function addJoins(QueryBuilder $queryBuilder, AssociationPropertyInterface $filter)
{
if (in_array($filter->getAssociation(), $this->joins)) {
// Association already added, return
return;
}
$associations = explode('.', $filter->getAssociation());
$fullAssociation = 'o';
foreach ($associations as $key => $association) {
if (isset($associations[$key - 1])) {
$parent = $associations[$key - 1];
} else {
$parent = 'o';
}
$fullAssociation .= '.' . $association;
$alias = $this->getAlias($fullAssociation);
$queryBuilder->join($parent . '.' . $association, $alias);
}
$this->joins[] = $filter->getAssociation();
}