Doctrine SQL - SELECT WHERE 2 záznamy z related tabulky mají dvě hodnoty (SQL WITH)

Autor Špalek
Publikováno 01.03.2021
Kategorie programovani
Stav Vyřešeno
Dobrý den,

v Symfony s Doctrine SQL mám tabulka1, která má related JOIN přes join_id na tabulka2:

tabulka1
------------------------------------------
id name
---------------------
1 karel
2 petr

tabulka 2
------------------------------------------
value join_id
---------------------
green 1
purple 1
blue 2

A já chci provést SQL SELECT všechny záznamy z tabulka1, které mají v tabulka 2 hodnotu green a purple (opravdu oba). Můžete prosím poradit jak na to? Díky


Odpovědi na dotaz

Show english version

RE: Doctrine SQL - SELECT WHERE 2 záznamy z related…

Autor Strosmajer
Publikováno 31.03.2021
Kategorie programovani
Stav Zkontrolováno
Dobrý den,

v Symfony s Doctrine SQL byste takový dotaz mohl provést takto:


public function findAllByMulti()
{
return $this->createQueryBuilder('s')
->join('u.table_2', 'color1', 'WITH', 'color1.value = :var1')
->join('u.table_2', 'color2', 'WITH', 'color2.value = :var2')
->setParameters([
'var1' => 'green',
'var2' => 'purple'
])
->getQuery()
->execute();
}


Show english version

Tento web používá k poskytování služeb, personalizaci reklam a analýze návštěvnosti soubory cookie. Používáním tohoto webu s tím souhlasíte. Další informace