私は包含動作を使用しており、いつものようにデータをソートできるようにしたいのですが、問題があります。
並べ替えたい列が、ページ付けされたテーブルの列ではなく、含まれているテーブルの列である可能性があります。
サブスクリプションテーブルには、「user_id」と「post_id」のみが含まれます。
コントローラーで私は持っています:
$this->paginate = array(
'conditions' => array('Subscription.user_id' => $this->Session->read('Auth.User.id')),
'paramType' => 'querystring',
'limit' => 20,
'contain'=> array('User', 'Post' => array('Priority', 'Status'))
);
$this->set('subscriptions', $this->paginate('Subscription'));
そして私の見解では、これは:
<!-- example of not working sort -->
<th class="td_subject"><?php echo $this->Paginator->sort('subject'); ?></th>
たとえば、サブジェクトのデータは、配列$subscriptionに通常の形式で含まれています。
$subscription['Post']['subject']
そして、私はそれをこのように印刷します:
foreach ($subscriptions as $subscription):
echo ...
echo '<td>'.h($subscription['Post']['subject'].'</td>';
echo ...
endforeach;
この場合、どのようにページネーションを使用できますか? ありがとう。