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

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

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ĚĎ


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

Související obsah

programovani

symfony

php

doctrine

sql

Komentáře

Vaše reakce na Doctrine SQL - SELECT WHERE 2 záznamy z related tabulky mají dvě hodnoty (SQL WITH)

Reference

Podívejte se na naše reference

Prohlédnout

Aplikace

Podívejte se na naše aplikace

Prohlédnout

Co umíme?

Podívejte se co umíme

Prohlédnout

Co umíme?

Vytváříme sofistikované aplikace pro náročné

Od webových aplikací přes android až po převodové můstky či složité informační systémy.

Podívejte se k nám

Máte ještě čas? Podívejte se na další rubriky

Tento web používá soubory cookie. Dalším procházením tohoto webu vyjadřujete souhlas s jejich používáním.. Více informací zde.