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

Reply via email to