var $belongsTo = array(
'BillingCity' => array(
'className' => 'City',
'foreignKey' => 'billing_city_id'
),
'MainCity' => array(
'className' => 'City',
'foreignKey' => 'main_city_id'
),
'Author'
);
Then your pagination needs to contain both cities (or just the one you are sorting by):
$this->paginate = array(
'contain' => array('BillingCity', 'MainCity', 'Author');
);
$this->paginate('Book');
And lastly, your pagination link:
$this->Paginator->sort('Where Written', 'BillingCity.name'); // or MainCity
On Thursday, April 26, 2012 5:23:30 PM UTC-7, Hill180 wrote:
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 <funeralmoss@gmail.com> wrote:
If it's hasMany then I think your relationship should be:var $hasMany = array('foreignKey' => 'city_id', // books table has city_id
'Book' => array(
'className' => 'Book',
'conditions' => '',
'fields' => '',
'order' => ''
));In that case, Book belongsTo Cityclass 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 <funeralmoss@gmail.com> 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 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
cake-php+unsubscribe@googlegroups.com 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
cake-php+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php
No comments:
Post a Comment