PlansとPlanDetailsの2つのモデルがあります。
関係は次のとおりです。PlanDetailshasManyPlans。プランはPlanDetailsに属します。
PlanDetails view.ctpで、関連するプランを取得しています。
プランを任意のフィールドで並べ替えようとしています(すべて試しました)が、機能しません。とてもシンプルなものを見落としていると思います。
これが私のベースコードです:
PlanDetail >> view.ctp:
...foreach ($planDetail['Plan'] as $plan_edit) :
$class = null;
if ($i++ % 2 == 0) {
$class = ' class="altrow"';
}...
<?php echo $this->Paginator->sort('Plan ID', 'Plan.id'); ?>...
...<?php echo $plan_edit['id']; ?>
plan_details_controller.php:
...function view($id = null) {
if (!$id) {
$this->Session->setFlash(__('Invalid plan detail', true));
$this->redirect(array('action' => 'index'));
}
$this->PlanDetail->recursive = 2; // To run the editable form deeper.
$this->set('planDetail', $this->PlanDetail->read(null, $id));
$this->set('plan', $this->paginate('Plan'));
}...
追加する必要があります。エラーはスローされず、IDフィールドのsort()矢印は期待どおりに表示されますが、どちらの方法でもクリックしてもソート順は変わりません。