ORDER Join přes vazbu M:N

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
pitr82
Člen | 121
+
0
-

ORDER se spojuje pomocí FK z tabulky rezervace->auto->znackaAuta pomocí vazby 1:N
Položený dotaz -Tohle není problém

$dotaz = $this->database->table('rezervace')
		->select("count(*) AS counted, auto_id")
		->group('auto_id')
		->order('auto.znackaAuta.znacka');

Výsledek

SELECT count(*) AS `counted`, `auto_id`
FROM `rezervace`
LEFT JOIN `auto` ON `rezervace`.`auto_id` = `auto`.`id`
LEFT JOIN `znackaAuta` ON `auto`.`znackaAuta_id` = `znackaAuta`.`id`
GROUP BY `auto_id`
ORDER BY `znackaAuta`.`znacka`

Ale nevím, jak položit dotaz abych se v order klauzuli dostal přes vazbu M:N

$dotaz = $this->database->table('rezervace')
		->select("count(*) AS counted, auto_id")
		->group('auto_id')
		->order('**????????**');

Výsledek by vypadal takto

SELECT  count(*) AS `counted`, `rezervace`.`auto_id`, `utvar`.`nazev`
FROM `rezervace`
LEFT JOIN `auto` ON `rezervace`.`auto_id` = `auto`.`id`
LEFT JOIN `utvar_auto` ON `auto`.`id` = `utvar_auto`.`auto_id`
LEFT JOIN `utvar` ON `utvar_auto`.`utvar_id` = `utvar`.`id`
GROUP BY `rezervace`.`auto_id`
ORDER BY `utvar`.`nazev` DESC;
norbe
Backer | 405
+
+1
-

Zkus

$this->database->table('rezervace')
        ->select("count(*) AS counted, auto_id")
        ->group('auto_id')
        ->order('auto:utvar_auto.utvar.nazev')
pitr82
Člen | 121
+
0
-

Funguje Díky :-)

Editoval pitr82 (16. 7. 2014 10:28)