ОСТАВИЛСЯ О СОСТОЯНИИ И еще одном условии в Учении - PullRequest
0 голосов
/ 09 октября 2019

Я использую Symfony 4.

У меня есть две таблицы и таблица соединений:

tag:
  columns:
    name:
      type: string(255)

recipe:
  columns:
    name:
      type: string(255)

tag_recipe:
  columns:
    tag_id
    recipe_id

Я пытаюсь преобразовать этот SQL в Doctrine в построителе запросов моей формы,показывать только теги, не связанные с конкретным рецептом (например, id = 1):

SELECT * 
FROM tag 
LEFT JOIN tag_recipe 
ON tag.id = tag_recipe.tag_id 
AND tag_recipe.recipe_id = 1 
WHERE tag_recipe.tag_id IS NULL

Сейчас я пытаюсь:

'query_builder' => function(EntityRepository $er) {
    return $er->createQueryBuilder('t')
            ->leftJoin('t.recipes', 'r', Expr\Join::WITH, 'r.id = :recipe')
            ->where('r is NULL')
            ->setParameter('recipe', $this->recipe);
}

И у меня вообще нет тега,Я пробовал несколько других решений, но каждый раз я получаю ни тега, ни все теги ...

Спасибо за вашу помощь.

...