【发布时间】:2012-05-24 01:31:15
【问题描述】:
我有以下型号:
$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 是怎么做的?
提前感谢您的帮助,非常感谢:)
【问题讨论】:
-
这对我来说看起来不错 - 你期望发生的事情没有发生?
-
嗨,目前发生的情况是结果在添加到组之前没有按时间戳排序。我只想要组中的最新结果。
-
基本上,我想在 cakephp 模型中执行以下操作: SELECT t1.* FROM ptl_userdata t1 WHERE t1.user_id = 2885 AND t1.timestamp = (SELECT MAX(t2.timestamp) FROM ptl_userdata t2 WHERE t2.user_id = 2885 AND t2.field = t1.field) GROUP BY t1.field