Right; using a class of type Zend_Db_Table as your Model works only if your logical Model maps to a single physical Table in the database.
The best solution in more complex cases is to write your own Model class to encapsulate the business logic needed to produce a combined result set from multiple Table objects. You could even write methods that execute direct SQL if you want to do a true JOIN query. So a Model's relationship to its Table(s) is "has-a" rather than "is-a". Encapsulating business logic in a Model class allows you to treat a Model as a single logical class, even if it is backed by multiple database tables or queries. It also allows the Model to surface a consistent interface, even if the database structure changes from time to time in the future. Regards, Bill Karwin > -----Original Message----- > From: debussy007 [mailto:[EMAIL PROTECTED] > Sent: Friday, October 05, 2007 1:46 PM > To: [email protected] > Subject: Re: [fw-general] Database - relations > > > Thank you. > > What confuses me is that these methods, I can only call them > on a fetched row (Zend_Db_Table_Row_Abstract). > > But I want to send to my view all my articles with all their pictures. > > If I use these methods, I have to fetch in my controller all > the articles and set them as a view variable. > Then in the view, use these methods for each row (for each > article, get the related pictures by doing the queries with > the methods). > Which I think is not respecting the MVC pattern (no business > logic in the view). > > > > > > redphantm wrote: > > > > Check out this thread > > > <http://www.nabble.com/Saving-Related-Model-Data-tf4539948s161 54.html#a12957145>. > > Also read > > > <http://framework.zend.com/manual/en/zend.db.table.relationshi > ps.html> > > in the manual. These should be enough to provide you with > an example > > on how to do your methods. > > > > debussy007 wrote: > >> > >> Hello. > >> > >> In my DB I have a table "articles" and a table "pictures" and one > >> article can have one or more pictures. > >> > >> I want to display the list of the articles and their photos. > >> But in my controller I can retrieve the list of the > articles but how > >> do I associate the list of pictures for each article ? > >> I want to avoid having sql operations in the view to retrieve for > >> each article the photos, is his possible ? > >> > >> If I think 'Object Oriented', I should send to the view a list of > >> Articles containing each all the details from the database of the > >> Article AND a list of Pictures. > >> > >> This is how I retrieve the articles : > >> $this->view->myArticles = $articles->fetchAll($where); > >> > >> This gives me the Articles objects. How do I associate the photos ? > >> > >> Maybe there is better way also ? > >> > >> Thank you for any kind help !! > >> > > > > > > -- > View this message in context: > http://www.nabble.com/Database---relations-tf4577387s16154.htm l#a13067071 > Sent from the Zend Framework mailing list archive at Nabble.com. > >
