使用模型内的query()方法从表中获取单个值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用模型内的query()方法从表中获取单个值相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

答案

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

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

这将返回单个值。

Model::field()

另一答案

此示例直接来自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')
    ));

以上是关于使用模型内的query()方法从表中获取单个值的主要内容,如果未能解决你的问题,请参考以下文章

从表中的 json 中获取单个项目

使用 laravel 模型获取数据时没有从表中获取结果

从表中获取全部内容

SQL 如何使用 LEFT JOIN 从表中选择单个值,在 Google Datastudio 中

由于外键为空值,无法从表中获取数据

从表中获取最后一个 ID 号