我目前正在使用groupBy('conv_id')
将名为messages
的表格中的行分组到对话中。
现在所有返回的结果都是唯一的conv_id
,但唯一的行不是最新的,而是第一个创建的。
使用orderBy('created_at', 'desc')
做的不多,我如何查询最新的行?
我正在使用的查询:
$this->orderBy('created_at', 'desc')->where('receiver', '=', $id)->orWhere('sender', '=', $id)->groupBy('conv_id')->select('conv_id', 'created_at')->get()->toArray();
表格如下:
ID | SENDER |接收器| UPDATED_AT | CREATED_AT | CONV_ID
答案 0 :(得分:0)
我想,如果您使用
Message::where('receiver', '=', $id)
->orWhere('sender', '=', $id)
->orderBy('created_at', 'desc')
->select('conv_id', 'created_at')->take(1)->get();
然后,这将根据与created_at
子句匹配的where
返回最后一个条目/行。