0

我的表有一个非常复杂的设置,通过任何 find() 方法实现这一点对我来说不是一个选择,因为我需要修复我的表之间的关系而且我现在没有时间,所以我在这里寻找一个简单的解决方法。

我想要实现的只是运行这样的查询:

SELECT MAX( id ) as max FROM MyTable WHERE another_field_id = $another_field_id

然后,我需要将该单个 id 分配给一个变量以供以后使用。

我现在拥有它的方式返回类似于 [{{max: 16}}],我知道我可以在这个结果集上执行一些 PHP 以获得我需要的单个值,但我希望有已经有一种方法可以在 CakePHP 上做到这一点。

4

2 回答 2

1

假设您的表有一个模型并且您使用的是 CakePHP 2.x,请执行以下操作:

$result = $this->MyTable->field('id', array('1=1'), 'id DESC');

这将返回一个值。

模型::字段()

于 2013-08-13T06:41:44.530 回答
0

此示例直接来自 CakePHP 文档。看来您可以使用find模型的方法来获取count

$total = $this->Article->find('count');
    $pending = $this->Article->find('count', array(
        'conditions' => array('Article.status' => 'pending')
    ));
    $authors = $this->Article->User->find('count');
    $publishedAuthors = $this->Article->find('count', array(
       'fields' => 'DISTINCT Article.user_id',
       'conditions' => array('Article.status !=' => 'pending')
    ));
于 2013-08-13T04:32:47.960 回答