Kohana 查询仅显示最新记录



好的,所以基本上我在我的kohana项目中创建了一个pm收件箱

到目前为止,我已经能够检索消息而没有此查询的问题

$messages = DB::select('users.username', 'users.id', 'profiles.profile_picture', 'messages.thread', 'messages.subject', 'messages.content', array('messages.id', 'mid'))->from('messages')->join('users', 'LEFT')->on('users.id', '=', 'messages.from_id')
                ->join('profiles', 'LEFT')->on('profiles.user_id', '=', 'messages.from_id')->where('messages.to_id', '=', $user)->and_where('messages.deleted', '=', '0')->execute();

我的问题是,如果有多个来自同一用户的消息,我只想显示最后一条消息。这应该在查询中完成还是在呈现结果时使用 php 完成。

我有一个日期列,我认为我可以为此使用,但我不确定最佳方法。

谢谢

$messages = DB::select('users.username', 'users.id', 'profiles.profile_picture', 'messages.thread', 'messages.subject', 'messages.content', array('messages.id', 'mid'))
  ->from('messages')
  ->join('users', 'LEFT')->on('users.id', '=', 'messages.from_id')
  ->join('profiles', 'LEFT')->on('profiles.user_id', '=', 'messages.from_id')
  ->where('messages.to_id', '=', $user)
  ->and_where('messages.deleted', '=', '0')
  ->order_by('messages.id', 'desc')
  ->offset(0)
  ->limit(1)
  ->execute();

最新更新