bin noch sehr damit beschäftigt meine Denkweise auf das MVC-Prinzip umzustellen. Und ich mag es gerne möglichst an einem konkreten Beispiel.
Daher mein Model: Wetterdaten (meteo_data).
Eine Auswahl der Felder: ID der Wetterstation (meteo_station_id), Datum (datum), Tagesmitteltemperatur (tm), Tageshöchsttemperatur (tx).
In Klammern habe ich die Felder in der Datenbank angegeben.
Nun gibt es ja durchaus Eigenschaften, die man dem Model zuweisen könnte, die nicht als fester Wert in der Datenbank stehen, sondern sich aus einer Berechnung der Daten ergeben. Z.B. Heißer Tag, Frosttag, Eistag. (Siehe dazu auch [url]http://de.wikipedia.org/wiki/Heißer_Tag[/url]).
Beispiel Eistag:
- Code: Alles auswählen
- if($tx<0){$Eistag=true;}
else{$Eistag=false;}
Beim Heiztag ist der Wert zudem noch von einer Benutzereingabe der Heizgrenze in einem Formular abhängig:
- Code: Alles auswählen
- if($tm<$Heizgrenze){$Heiztag=true;}
else{$Heiztag=false;}
Im Controller habe ich es geschafft das Problem zu lösen: Nach der Datenbankabfrage find() in einer foreach Schleife die Berechnungen vornehmen und die Ergebnisse dem Array hinzufügen. Dann das Array mit set() dem View übergeben.
Dieses Vorgehen finde ich allerdings nicht gerade elegant und erscheint mir auch nicht perfomant, da sowohl im Controller als auch im View eine foreach Schleife notwendig.
Gibt es eine Idee, wie man Berechnungen in das Model verlegt und als weitere Eigenschaft per find() dann abfragen kann?
Schönen Gruß
Michael

