ApiPlatform\Core\Bridge\Doctrine\Orm\Filter\AbstractFilter::addJoinOnce PHP Method

addJoinOnce() protected method

Adds a join to the queryBuilder if none exists.
protected addJoinOnce ( Doctrine\ORM\QueryBuilder $queryBuilder, ApiPlatform\Core\Bridge\Doctrine\Orm\Util\QueryNameGeneratorInterface $queryNameGenerator, string $alias, string $association ) : string
$queryBuilder Doctrine\ORM\QueryBuilder
$queryNameGenerator ApiPlatform\Core\Bridge\Doctrine\Orm\Util\QueryNameGeneratorInterface
$alias string
$association string the association field
return string the new association alias
    protected function addJoinOnce(QueryBuilder $queryBuilder, QueryNameGeneratorInterface $queryNameGenerator, string $alias, string $association) : string
    {
        $join = $this->getExistingJoin($queryBuilder, $alias, $association);
        if (null === $join) {
            $associationAlias = $queryNameGenerator->generateJoinAlias($association);
            $queryBuilder->join(sprintf('%s.%s', $alias, $association), $associationAlias);
        } else {
            $associationAlias = $join->getAlias();
        }
        return $associationAlias;
    }