我有以下型号:
$values = $this->PtlUserdata->find('all', array(
'fields' => array(
'PtlUserdata.field',
'PtlUserdata.value',
'PtlUserdata.timestamp'
),
'conditions' => array(
'PtlUserdata.user_id' => $user->get('id'),
),
'order' => array('PtlUserdata.timestamp' => 'DESC'),
'group' => array('PtlUserdata.field')
));
我正在尝试按时间戳排序结果,然后按字段对结果进行分组,这样我就可以使用该字段名称获取最新记录。
有人知道如何做到这一点是cakephp吗?
提前感谢您的帮助,非常感谢:)
答案 0 :(得分:0)
这是数据库的默认行为。你必须提出某种解决方法才能做到这一点。
答案 1 :(得分:0)
这是否有效:
$values = $this->PtlUserdata->find('all', array(
'fields' => array(
'PtlUserdata.field',
'PtlUserdata.value',
'max(PtlUserdata.timestamp)'
),
'conditions' => array(
'PtlUserdata.user_id' => $user->get('id'),
'PtlUserdata.timestamp' => 'max(PtlUserdata.timestamp)',
),
'group' => array(
'PtlUserdata.field',
'PtlUserdata.timestamp'
)
));
我没有机会测试这个,但你肯定需要按PtlUserdata.timestamp
进行分组。