Po mojem razmišljanju u php-u je model sam po sebi suvišan jer je PHP slabo tipizirano jezik, pa su onda tu ubacili model gdje ćeš kao dohvatiti podatke, ali nema mi to baš nekog smisla. S time da to pričam s aspekta asp.net MVC-a i MVC arhitekture, u php-u se nisam previše zamarao MVC arhitekturom, ali uglavnom sad kad sve povežem smatram da je u PHP-u model suvišan. Jer model bi ustvari trebao biti model (objekt koji želiš prenijeti iz controllera u view)
U php ti postoji dva pristupa u odnosu Controller i Model.
U jednom gdje model samo služi za držanje podataka i komuniciranje sa bazom (ovo je dosta česta primjena) a drugi je gdje Controller ima samo ulogu routera u aplikaciji a sva logika je modelu, ukljućujući i spajanje na bazu.
Ako je sva logika u modelu onda se spajanje na bazu i držanje podatka odvaja od poslovne logike.
U slučajevima gdje se u modelu nalazi poslovna logika, view osim template zna sadržavati i klase koje pripremaju sadržaj za template.
To se radi zato jer tome nema mjesta u poslovnoj logiki. Lijepi primjeri ovog pristupa su ti Joomla i Magento.
No većina tutoriala na webu za rad u frameworcima koristi model samo za objektni pristup bazi te držanje podatka dok je ostatak koda u controlleru i pomoćnim klasama (te pomoćne klase bi mogli smatrati dio modela).
Mislim da je tvoj kod u redu. Sada smatram da je ipak bolji pristup da je logika u modelu. Zadnji godinu dana sam isključivo radio sa takvim pristupom i mislim da je to puno bolje (bolje odvajanje koda, poslovna logika se može koristiti u drugim aplikacijama nije vezana za controller). Controller samo da ima ulogu određivanja toka aplikacije i logiku koju je potrebno ugraditi prije nego što tok aplikacije dođe u model.