DB: jak udelat group by sloupce na ktery odkazuje foreign key pres activeRow?

Notice: This thread is very old.
warriotox
Member | 30
+
0
-

Mam tabulku rezervace. V ni ID rezervovane postele. Prez ID postele se dostanu do tabulky postele tam ma kazda postel foreign klic pro pokoj do ktereho spada, ktery odkazuje na tabulku pokoje. V tabulce pokoje je sloupec “nazev” a “id”. Ja chci pouzit ActiveRow, dotaz, ktery by dostal vsechny rezervace a vytvoril by mi sloupec COUNT(postele.id) a group by pokoje.id / pokoje.nazev.
Nasel sem v dokumentaci ze se to joinovani da udelat pomoci having(:tabulka), ale nedari se mi to zprovoznit.

Vim ze cisty SQL by vypadalo takhle:
"

SELECT *, COUNT('postele.id')
                    FROM rezervace
                    LEFT JOIN postele ON postele.id = rezervace.postele_id
                    LEFT JOIN pokoje ON pokoje.id = postele.pokoje_id
WHERE `reservations`.`invoice` = "2016-03-28 15:57:45" //nehraje roli
GROUP BY `pokoje.nazev`

Ale tusim ze to jde napsat i pres activeRow, jen nevim jak to dostat do toho ->having() a ->group()

David Matějka
Moderator | 6351
+
0
-

->group('postele.pokoje.nazev')

warriotox
Member | 30
+
0
-

aha, diky moc.
muzu se jeste zeptat jak tam ted pridat "COUNT(beds.id) ?
Bez toho abych musel vypisovat ->SELECT() jestli se to da?
->SELECT("sloupce_Co_Chci, COUNT(*)") znam

Last edited by warriotox (2016-03-28 17:30)