我有一个MySQL表3列(thread_id
,message_id
,message
)。沿着link中“使用GROUP BY的示例”中找到的解决方案的线路,我希望查询GROUP BY thread_id
,但返回每个thread_id
的最高message_id
(而不是默认最低)的行。然后,我想要一个格式良好的数组,其中包含行/项目,就像您在CakePHP中寻找操作不太复杂的查找操作一样,其行数为$array[index]['Model']['field']
。使用以下CakePHP语法:CakePHP&MySQL - 使用查找('所有')与GROUP为一个字段和MAX为另一个字段
$this->Model->find('all', array(
'fields' => array('MAX(Model.message_id) as message_id', 'Model.thread_id', 'Model.message'),
'group => 'Model.thread_id'
));
现在,不幸的是我没有得到这个很好格式化的数组。相反,我得到一个如下所示的数组:
Array([0] => Array([0] => Array([message_id] => wanted/correct_message_id)[Model] => Array([message] = >从最低/不需要MESSAGE_ID线消息。[thread_id单] =>密钥从最低/不需要MESSAGE_ID线))
为什么message_id
得不到钩到所述阵列的所述[Model]
部分和为什么CakePHP的取最低message_id
线并且将message
和thread_id
放入没有message_id
列的阵列的[Model]
部分中?
I希望数组中的[Model]
部分中的所有列都有,并且我希望该行按照我的初始描述为该thread_id
的最高message_id
。希望这个问题有道理。
为了将它放入模型键中,将其设置为'virtualField'。 – tigrang
好的。将所需的行(最高)提取到模型密钥中? – alieninlondon