0

こんにちは、ビューの 1 つでテーブルにページネーションを設定しようとしています。正しい結果セットを返す find ステートメントがありますが、見つけた情報をテーブルでソートできるようにする方法がわかりません。

ここにコントローラーがあります。ページネーションを試みると、エラーだけが見つかります

public function index_admin(){
    //displays all disputes related to account.id
    //in a dashboard for an administrator user

    $this->set('title_for_layout', 'Dispute');
    $this->set('stylesheet_used', 'homestyle');
    $this->set('image_used', 'eBOXLogoHome.png');
    $this->layout='home_layout';

    //gets the User.account_id
    $id = $this->Auth->User('account_id');
    $conditions=array("OR"=> array(
        'Invoice.sender_id' => $id,
        'Invoice.receiver_id' => $id));

    $receiver=$this->Dispute->find('all',array(
    'conditions'=>$conditions));

    $this->set('receiver',$receiver);
    $this->paginate('Dispute'); 
    $this->set('id',$id);


}

ここにビューのコードがあります

            <tr>
                <th><?php echo $this->Paginator->sort('id', 'Invoice ID'); ?></th>
                <th><?php echo $this->Paginator->sort('dispute_date', 'Dispute Created'); ?></th>
                <th><?php echo $this->Paginator->sort('status', 'Status'); ?></th>
                <th>Actions</th>
            </tr>

    <?php foreach($receiver as $receivers):?>

    <tr>
        </tr><tr>
        <td><?php echo $receivers['Invoice']['id'] ;?></td>
        <td><?php echo $receivers['Dispute']['dispute_date'] ;?></td>

    <?php

    if($receivers['Dispute']['active']==1)
    {
        $status = 'Active';
        $bgcol = '#B9FAEA';
    }
    else 
    {
        $status = 'Resolved';
        $bgcol = '#FAB9B9';
    } 
    ?><td align='center' bgcolor='<?php echo $bgcol ?>'><?php echo $status ?></td>
    <td><?php echo $this->Form->Html->link('View',
                                array('controller' => 'Messages','action'=>'viewMessage_admin',$receivers['Dispute']['id'])); ?>
                <?php echo $this->Form->Html->link('Resolve',
                                array('controller' => 'Disputes','action'=>'resolve',$receivers['Dispute']['id'])); ?></td>
    </tr>


<?php endforeach; ?>
4

2 に答える 2

1

の後ではpaginateなく、の代わりに呼び出す必要があります。find

$id = $this->Auth->User('account_id');
$conditions=array("OR"=> array(
    'Invoice.sender_id' => $id,
    'Invoice.receiver_id' => $id));

$receiver=$this->paginate('Dispute', $conditions);
$this->set('receiver',$receiver);
$this->set('id',$id);
于 2012-09-25T00:55:01.363 に答える