I had to do this, and what worked was something like this:
$contact = $this->Contacts;
$this->paginate = [
'contain' => ['Histories' => [
'Events', 'Users', 'Linkups', 'Units'
]
],
'sortWhitelist' => [
'Histories.Events.name','Histories.Users.username'
]
];
$this->set('contact', $this->paginate($contact));
If you're doing pagination on associated tables, you need to specify a
whitelist of columns to sort on.
Then, in the template, you'll need to specify the columns you're
paginating. EG:
echo $this->Paginator->sort('Histories.Events.name', 'Events');
On Thursday, October 9, 2014 11:35:43 AM UTC+1, Radharadhya Dasa wrote:
>
> Hi,
>
> I have this
>
> public function view($id = null) {
> $this->paginate = [
> 'contain' => ['Histories' => [
> 'Events', 'Users', 'Linkups', 'Units'
> ]
> ]
> ];
> $contact = $this->Contacts->get($id, [
> 'contain' => ['Zips', 'Contactsources', 'Groups', 'Linkups',
> 'Users', 'Histories' => [
>
> 'Events', 'Users',
>
> 'Linkups', 'Units'
>
> ]]
> ]);
> $this->set('contact', $this->paginate($contact));
> }
>
>
> This gives me this error message:
> *Error: * Call to undefined method App\Model\Entity\Contact::alias()
> *File*
> /home/rrd/public_html/sanga/vendor/cakephp/cakephp/src/Controller/Component/PaginatorComponent.php
>
>
> *Line: * 151
>
> Why?
>
> What I want is to have a table with history data what is paginated.
>
> rrd
>
>
--
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP
---
You received this message because you are subscribed to the Google Groups
"CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.