0

对不起,我是 cakePHP 的新手。我使用 cakePHP 2.2。我有两张桌子,书籍和交易。

表:书籍

id
title
author

表:交易

id
book_id
status
borrow_date

在表事务中列出了该书的所有事务。

我的问题,如何获取最大交易 ID 的状态?

我尝试使用这个

选项['加入'] = 数组(
            大批(
                '表' => '交易',
                '别名' => '交易',
                '类型' => '右外',
                'fields' => array('MAX(Transaction.id)', '*'),
                '条件' => 数组(
                    'Catalogue.id = Transaction.catalogue_id',
                    //'Transaction.user_id' => $userId
                ),
                'order' => array('Transaction.id' => 'desc'),
            )
        );
        $this->set('Book', $this->Book->find('all',$options));

在视图中:

$Book['Transaction']['status']; 

但它显示一个错误:

注意(8):未定义索引:Transaction [APP\View\Catalogues\user_katalog.ctp, line 32]

4

2 回答 2

0

教条69是对的。这是一个例子:因为你已经在控制器中使用了它:

$this->set('Book', $this->Book->find('all',$options));

你应该在视图中使用它:

foreach( $Book as $b ) {
      echo $b['Transaction']['status'];
}
于 2013-01-06T14:48:08.793 回答
0

你正在做 find(all) 所以你有一个书单

var_dump($Book);

你会看见

array(
   0 => array(
       'Transaction' => ...
   ),
   1 => array(
       'Transaction' => ...
   )
   .....
);

不是

array(
   'Transaction' => ...
);

如果需要,可以循环$Book或使用。find('first', ...)

于 2013-01-06T14:09:16.440 回答