我有一个包含以下列的"消息"表
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;
Run Code Online (Sandbox Code Playgroud)
我正在尝试获取所有消息,其中'toId'= $ id并按fromId进行分组.问题是结果上显示的"消息"是第一个,而不是最新的.我尝试通过createdAt订购,但它不起作用.
在查询和分组结果之前,如何通过"createdAt"订购?我想用Eloquent以laravel方式做到这一点.
我的查询:
$chats = Message::with('sender','recipient')
->where('toId',$id)
->orderBy('createdAt')
->groupBy('fromId')
->paginate(10)
Run Code Online (Sandbox Code Playgroud)