Sat*_*ana 4 cakephp cakephp-3.0
我有表呼叫用户,比如
id name amount created
1 a 100 6-16-2016
2 b 200 5-16-2016
Run Code Online (Sandbox Code Playgroud)
我需要最大量的完整行,我已尝试下面的代码,但得到语法错误.
$user = $this->Users->find('all',[
'fields' => array('MAX(Users.amount) AS amount'),
]);
Run Code Online (Sandbox Code Playgroud)
ari*_*lia 16
最简单的方法
$user = $this->Users->find('all',[
'fields' => array('amount' => 'MAX(Users.id)'),
]);
Run Code Online (Sandbox Code Playgroud)
使用select而不是options数组
$user = $this->Users->find()
->select(['amount' => 'MAX(Users.id)']);
Run Code Online (Sandbox Code Playgroud)
利用蛋糕SQL函数
$query = $this->Users->find();
$user = $query
->select(['amount' => $query->func()->max('Users.id')]);
Run Code Online (Sandbox Code Playgroud)
以上三者都给出了相同的结果
如果你想拥有一条记录,你必须调用->first()
查询对象:
$user = $user->first();
$amount = $user->amount;
Run Code Online (Sandbox Code Playgroud)