0
我正在使用包含行爲,我希望能夠像往常一樣排序數據,但我有麻煩。Paginator->使用包含在CakePHP 2.2排序
這可能是因爲我想排序的列不是分頁表上的列,而是包含表。
訂閱表只包含「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['Post']['subject']
而我用這種方式打印它:
foreach ($subscriptions as $subscription):
echo ...
echo '<td>'.h($subscription['Post']['subject'].'</td>';
echo ...
endforeach;
如何在這種情況下使用分頁?謝謝。
我不明白它的工作。訂閱與Post和User模型有關。 如果我將它們添加到連接上,它會顯示:「不是唯一的表/別名:'用戶'」。所以,如果我刪除它們,並且只是使用Post添加相關表格,例如優先級和狀態,那麼它會說:未知列'Post.priority_id'引用連接條件。 – Alvaro