Извините, я не могу прокомментировать сам вопрос, но я заметил, что в вашем действии вы устанавливаете planDetail
как запись PlanDetail, которую вы прочитали (с recursive
, установленной в 2), изатем вы устанавливаете plan
как результат вызова paginate
.
Затем, в вашем шаблоне представления, вы перебираете Plan
содержащую *1008* ассоциацию, например так:
foreach ($planDetail['Plan'] as $plan_edit):
Но чтобы выполнить сортировку и разбивку на страницы, вам нужно отобразить результаты вызова paginate
, т.е. перебрать записи, содержащиеся в $plan
.
Do* debug($plan)
в шаблоне представления, чтобы увидеть, какие результаты вы получите, и посмотреть, изменяется ли порядок записей при сортировке по разным полям.
Кроме того, возможно, вы используете синтаксис, которого я не знаюиз, но если вы просто позвоните $this->paginate('Plan')
в своем контроллере, я не знаю, что вы получите только соответствующие Plan
записи для вашей конкретной записи PlanDetail
.(Ничто не связывает $id
, переданное в ваше действие view
с записями Plan
.) Возможно, вам понадобится добавить некоторые условия к вызову paginate
, например:
$this->paginate['Plan'] = array('conditions' => array('Plan.plan_detail_id' => $id));
$this->set('plans', $this->paginate('Plan'));