Habe bisher mit Codeigniter gearbeitet und bin nach langen Suchen nach einem Zweit-Framework bei Cake gelandet.
Hab mir auch gleich mal ein Projekt geschnappt, um es mit Cake umzusetzen. (In der Praxis lernt es sich ja bekanntlich am besten
Bei Codeigniter habe ich meistens mit normalen Querys bzw. mit Active Records gearbeitet, deswegen tue ich mich momentan bei Cake etwas schwer. Normale Abfragen funktionieren einwandfrei und zum Teil wesentlich einfacher als bei Codeigniter.
Jetzt zu meinem Problem:
Ich habe 2 Tabellen. Eine Tabelle für Seiten (Pages) und eine für "Module" (Modules) Die Module sind eigentlich nichts anderes als Elements die ins View geladen werden. Aber halt dynamisch, da übers Backend auswählbar und Sortierbar.
Zusätzlich zu den beiden Tabellen habe ich noch die Join-Tabelle: modules_pages mit module_id und page_id. Models sind korrekt angelegt.
- Code: Alles auswählen
- pr($this->Module->Page->findById(1));
Zeigt mir auch korrekt alle Module der Seite mit der page_id 1 an.
Die Join-Tabelle hat zusätzlich noch eine Spalte "order" für die Sortierung. Nur habe ich es nicht hinbekommen, die Ausgabe sortieren zu lassen.
Hier erstmal die normale Ausgabe (Nicht wundern, steht ein Haufen Quatsch drin)
- Code: Alles auswählen
- Array
(
[Page] => Array
(
[id] => 1
[title] => Startseite
[seo_url] => home
[meta_title] => Startseite
[meta_desc] => Tolle Seite
[meta_keys] => Super, Duper
[view] => empty
[template] => home
)
[Module] => Array
(
[0] => Array
(
[id] => 1
[name] => Willkommen-Text
[type] => view
[view] => test
[created] =>
[modified] =>
[ModulesPage] => Array
(
[page_id] => 1
[module_id] => 1
[order] => 1
)
)
[1] => Array
(
[id] => 6
[name] => Letzte Projekte
[type] => modul
[view] => last-projects
[created] =>
[modified] =>
[ModulesPage] => Array
(
[page_id] => 1
[module_id] => 6
[order] => 2
)
)
)
)
Unter ModulesPage gibts das Feld "order" nach dem ich gerne aufsteigend sortieren möchte.
Hatte mir das eigentlich so gedacht:
- Code: Alles auswählen
Hier gibts nur einen SQL-Error
Habs erstmal über die Array-Sortierung gemacht.
- Code: Alles auswählen
Eventuell weiß ja jemand, wie ich das direkt bei der DB-Abfrage hinbekomme.
Danke schonmal im Voraus
Gruß
lonestar