You know my example was a different then my actual code (I know I should have just used it)
I have two cities per book. IE main_city_id (where it was written) billing_city_id (where the author wants to get paid) How do I distinguish them? I can't use City.name Thanks. On Thu, Apr 26, 2012 at 3:13 PM, jeremyharris <[email protected]> wrote: > If it's hasMany then I think your relationship should be: > > var $hasMany = array( > 'Book' => array( > 'className' => 'Book', > 'foreignKey' => 'city_id', // books table has city_id > > 'conditions' => '', > 'fields' => '', > 'order' => '' > )); > > In that case, Book belongsTo City > > class Book extends AppModel { > var $belongsTo = array('City', 'Author'); > } > > Then you can paginate like the example I had above since it will LEFT join > the city models for all the books, as long as you contain the city model: > > // in books controller > $this->paginate = array( > 'contain' => array('City', 'Author'); > ); > $this->paginate('Book'); // paginate from the book model to be able to > sort by Book, Author or City > > > On Thursday, April 26, 2012 3:06:34 PM UTC-7, Hill180 wrote: >> >> City hasMany books, books only have one author. >> >> City.name didn't work >> >> var $hasMany = array( >> 'Book' => array( >> 'className' => 'Book', >> 'foreignKey' => 'book_id', >> 'conditions' => '', >> 'fields' => '', >> 'order' => '' >> )); >> >> On Thu, Apr 26, 2012 at 7:46 AM, jeremyharris <[email protected]>wrote: >> >>> Is City a hasOne or belongsTo relationship? If so, and your find code is >>> using contain or recursive to include those in the results, you can do this: >>> >>> $this->Paginator->sort('Where Written', 'City.name'); >>> >>> Check your data and SQL queries to see if it's joined that way. >>> >>> >>> On Wednesday, April 25, 2012 4:29:26 PM UTC-7, Hill180 wrote: >>>> >>>> Trying to use the paginator in the view >>>> >>>> I have an Author who is has a Book and where the "book" was written ( >>>> book_id.name, city_id.name) >>>> Author sort works, title sort work, but not the sort for city_id. I can >>>> sort by the id, but obviously this won't work because >>>> the id has nothing to do with the name of the city. >>>> >>>> >>>> >>>> <th><?php echo $this->Paginator->sort('**Author**', 'name'); ?></th> >>>> <th><?php echo $this->Paginator->sort('Book', 'title.name'); ?></th> >>>> <th><?php echo $this->Paginator->sort('Where Written', 'title.city_id'); >>>> ?></th> (sorts, but the names are not sorted because >>>> it is using the id) >>>> >>>> need something like this >>>> <th><?php echo $this->Paginator->sort('Where Written', ' >>>> title.city_id.name'); ?></th> //does not work. >>>> >>>> Is there a way to get this to work, or is it a customer pagination? >>>> >>>> thanks.. >>>> j >>>> >>> -- >>> Our newest site for the community: CakePHP Video Tutorials >>> http://tv.cakephp.org >>> Check out the new CakePHP Questions site http://ask.cakephp.org and >>> help others with their CakePHP related questions. >>> >>> >>> To unsubscribe from this group, send email to >>> cake-php+unsubscribe@**googlegroups.com<cake-php%[email protected]>For >>> more options, visit this group at >>> http://groups.google.com/**group/cake-php<http://groups.google.com/group/cake-php> >>> >> >> -- > Our newest site for the community: CakePHP Video Tutorials > http://tv.cakephp.org > Check out the new CakePHP Questions site http://ask.cakephp.org and help > others with their CakePHP related questions. > > > To unsubscribe from this group, send email to > [email protected] For more options, visit this group > at http://groups.google.com/group/cake-php > -- Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions. To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/cake-php
