我的表上有一个非常复杂的设置,通过任何find()方法实现这一点对我来说不是一个选项,因为我需要修复我的表之间的关系而我现在没有时间,所以我在这里寻找一个简单的解决方案。
我想要实现的是运行如下查询:
SELECT MAX( id ) as max FROM MyTable WHERE another_field_id = $another_field_id
然后,我需要将该单个id分配给变量以供以后使用。
我现在的方式它返回类似[{{max:16}}]的东西,我知道我可以在这个结果集上做一些PHP来获得我需要的单个值,但我是希望在CakePHP上已经有办法做到这一点。
答案 0 :(得分:1)
假设您的桌子有一个模型而您正在使用CakePHP 2.x,请执行:
$result = $this->MyTable->field('id', array('1=1'), 'id DESC');
这将返回单个值。
答案 1 :(得分: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')
));