使用模型内的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');
这将返回单个值。
另一答案
此示例直接来自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()方法从表中获取单个值的主要内容,如果未能解决你的问题,请参考以下文章