以下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