[MVC(CI)] Model vs view
Nu heb ik het zo, dat in het model het resultaat wordt omgezet in een array per item.
Mijn gevoel zegt dat dit de juiste manier is, maar ik vraag me af of mijn gevoel goed is.
Maar wat ik dus altijd zou doen is een object teruggeven in de Model. Je zet een database result om in een object. Mocht je functies hebben als findAll*(), dan geef je een array met objecten terug.
Hoe precies je databrok eruitziet is volgens mij aan jou, hoewel daar dan mogelijk je framework bij komt kijken. Ik ken niet genoeg van CI om daar iets zinnigs over te zeggen. In mijn eigen framework gebruik ik een resultset container die er altijd voor zorgt dat de data eenvoudig door de view kan worden verwerkt. Die container wordt gevuld door het model en soms zijn daar enige stappen voor nodig om de data er op de juiste manier in te krijgen.
Tenzij ik je vraag niet goed begrepen heb natuurlijk....
Maar wat is jouw motivatie dan om een object c.q array van objecten mee te geven?
Puur om in de OOP gedachte te blijven?
Toevoeging op 01/05/2013 19:42:50:
@Erwin, ik had jouw reactie nog niet gelezen.
Maar je hebt me goed begrepen, en ik denk wat bij jou de container is, is bij mij de controller die dan weer wat doorgeeft aan de view)
Gewijzigd op 01/05/2013 19:43:26 door Ger van Steenderen
Wat ik altijd doe is het volgende:
model
Code (php)
Controller
Code (php)
De view
Code (php)
Dus eenvoudig gezegd je controller geeft wat in het model staat door aan je view.
EDIT:
paar typos in de code.
Gewijzigd op 01/05/2013 21:53:39 door Bart V B
Quote:
Maar wat is jouw motivatie dan om een object c.q array van objecten mee te geven?
Puur om in de OOP gedachte te blijven?
Puur om in de OOP gedachte te blijven?
ja, dat ook. Maar ook omdat je dan extra methods kunt toevoegen en zo toegang krijgt tot dingen die niet in de DB staan, zoals fullname terwel de DB alleen firstname en lastname bevat.
Gewijzigd op 01/05/2013 23:05:52 door Wouter J
Ik heb bv product A, dit product is beschikbaar in diverse kleuren, iedere kleur heeft zijn eigen image(s) en beschikbaarheid qua afmetingen (afhankelijk van de voorraad).
De opdrachtgever wilt dat als een bepaalde kleur gekozen wordt de plaatjes van die kleur getoond worden en de beschikbare maten voor die kleur, indien mogelijk zonder het opnieuw inladen de pagina.
Dit is overigens allemaal gelukt, maar ik heb het nu zo dat ik in het model zelf het resultaat van de query doorloop, ombouw naar een werkbaar geheel en dan teruggeef naar de controller.
De vraag is of dat de juiste werkwijze is.