Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: doktrina vnořený dotaz

Aktivity
Avatar
solta
Člen
Avatar
solta:21.4.2017 6:09

Ahoj jak udělám v doctrině toto

SELECT r.*, (SELECT SUM(p.amount) FROM p WHERE p.r_id = r.id ) as pay FROM r WHERE r.is_active=1
 
Odpovědět
21.4.2017 6:09
Avatar
Nahoru Odpovědět
21.4.2017 9:01
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Neaktivní uživatel:21.4.2017 9:03

boze. ,proc to furt nejde editovat.... napisu ti to az budu doma

Nahoru Odpovědět
21.4.2017 9:03
Neaktivní uživatelský účet
Avatar
solta
Člen
Avatar
Odpovídá na Neaktivní uživatel
solta:24.4.2017 10:11

Prosim muzes mi to poslat

 
Nahoru Odpovědět
24.4.2017 10:11
Avatar
Václav Keberdle:25.4.2017 18:58

to je v podstate

SELECT r.*, SUM(p.amount) as pay
FROM r
LEFT JOIN p
WHERE r.is_active=1
GROUP BY p.r_id

takže:

$this->createQueryBuilder('r')
            ->select('r, SUM(p.amount) as pay')
            ->leftJoin('r.p', 'p')
            ->where("r.is_active=1")
            ->groupBy('r.r_id')
            ->getQuery()
            ->getResult();
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
25.4.2017 18:58
Avatar
Neaktivní uživatel:26.4.2017 11:01

Promiň, až dnes jsem se dostal k PC.
Václav už ti to napsal, jen bych to trochu upravil.

$qb = $this->createQueryBuilder('r');
$qb->select('r, SUM(p.amount) as pay');
$qb->leftJoin('r.p', 'p');
$qb->where("r.is_active = :status");
$qb->groupBy('r.r_id');
$qb->setParameter('status', 1);
//$qb->setParameters(['status' => 1, 'dalsi_parameter' => 'hodnota']) #pokud více parametru
$qb->getQuery()->getResult();
//$qb->getQuery()->useQueryCache(true)->getResult(); #zapnes cachování pro quary
Nahoru Odpovědět
26.4.2017 11:01
Neaktivní uživatelský účet
Avatar
solta
Člen
Avatar
Odpovídá na Neaktivní uživatel
solta:26.4.2017 12:49

díky mrknu na to večer

 
Nahoru Odpovědět
26.4.2017 12:49
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.