以下SQLite的代码组信息由conversation_id:SQLite的到的Postgres(Heroku的)GROUP BY
@messages=Message.where("messages.sender_id = (?) OR messages.recipient_id = (?)"
, current_user.id, current_user.id).group("messages.conversation_id")
在移动到的Heroku,这个代码不被识别的Postgres。望着日志,我告诉所有的信息列添加到GROUP BY - 让我到这个功能代码:
@messages=Message.where("messages.sender_id = (?) OR messages.recipient_id = (?)"
, current_user.id, current_user.id).group("messages.conversation_id
, messages.updated_at, messages.id, messages.sender_id
, messages.recipient_id, messages.sender_deleted
, messages.recipient_deleted, messages.body, messages.read_at
, messages.ancestry, messages.ancestry_depth, messages.created_at")
只有这个代码由conversation_id不正确组。它只是输出符合WHERE条件的所有消息。有任何想法吗?
不,通过conversation_id排序只会以不同的方式排序它们。我试图在每个对话中显示最后一条消息(这是一组具有相同conversation_id的消息) – neon 2011-06-03 21:11:52