问题在于结果集将被首先 分组 然后 排序 。您可以使用嵌套选择来获取所需的内容。
SQL查询:
SELECt t.* FROM (SELECt * FROM messages ORDER BY created_at DESC) t GROUP BY t.from
使用Laravel:
$messages = Message::select(DB::raw('t.*')) ->from(DB::raw('(SELECt * FROM messages ORDER BY created_at DESC) t')) ->groupBy('t.from') ->get();您只需要添加
where()子句。



