Symfony 4 InnerJoin Ошибка: неверное выражение пути.Должно быть StateFieldPathExpression - PullRequest
0 голосов
/ 18 мая 2019

У меня есть объект Image, который находится в связи ManyToMany с объектом Tag. Я пытаюсь получить изображения, связанные с тегом, который я извлекаю из базы данных, во внутреннем запросе на соединение, как показано ниже:

public function findOneByNameWithImages(string $name)
    {
        return $this->createQueryBuilder('t')
            ->addSelect('t.images')
            ->leftJoin('t.images', 'images')
            ->where('t.name = :name')
            ->setParameter('name', $name)
            ->getQuery()
            ->getResult();
    }

Но когда я выполняю запрос, я получаю эту ошибку:

    [Semantical Error] line 0, col 12 near 'images FROM App\Entity\Tag': 
    Error: Invalid PathExpression. Must be a StateFieldPathExpression.

1 Ответ

0 голосов
/ 18 мая 2019

Решение состоит в том, чтобы добавить выбранные изображения с псевдонимами, а не t.images:

public function findOneByNameWithImages(string $name)
    {
        return $this->createQueryBuilder('t')
            ->leftJoin('t.images', 'images')
            ->addSelect('images')
            ->where('t.name = :name')
            ->setParameter('name', $name)
            ->getQuery()
            ->getResult();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...