排序依据在分组之前 使用雄辩(Laravel)
我有一个包含以下列的“消息”表
CREATE TABLE `messages` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`fromId` int(11) NOT NULL,
`toId` int(11) NOT NULL,
`message` text NOT NULL,
`status` int(11) NOT NULL,
`device` varchar(100) NOT NULL,
`createdAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=57 DEFAULT CHARSET=latin1;
我正在尝试获取“toId”=$id的所有消息,并按fromId分组。问题在于,结果上显示的“消息”是第一个,而不是最新的。我尝试按 createdAt 订购,但它不起作用。
在查询和分组结果之前,如何按“createdAt”进行排序?我想用Eloquent以laravel的方式做到这一点。
我的查询:
$chats = Message::with('sender','recipient')
->where('toId',$id)
->orderBy('createdAt')
->groupBy('fromId')
->paginate(10)