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
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;