Php Laravel查询为同一问题发送不同的结果
嗨,我正在尝试在LARAVEL上创建一对一消息系统。它一直工作正常,直到对一些用户来说,它开始显示出与预期不同的结果。而且这种情况只发生在一些用户身上。。这个查询有什么问题Php Laravel查询为同一问题发送不同的结果,php,mysql,laravel,Php,Mysql,Laravel,嗨,我正在尝试在LARAVEL上创建一对一消息系统。它一直工作正常,直到对一些用户来说,它开始显示出与预期不同的结果。而且这种情况只发生在一些用户身上。。这个查询有什么问题 $id =$receiver->id; $messages = Message::where(function ($query) use ($id) { $query->where('user_id', '=', Auth::user()->id) ->wh
$id =$receiver->id;
$messages = Message::where(function ($query) use ($id) {
$query->where('user_id', '=', Auth::user()->id)
->where('receiver_id', '=', $id);
})->orWhere(function ($query) use ($id) {
$query->where('user_id', '=', $id)
->where('receiver_id', '=', Auth::user()->id);
})->get();
返回$messages后,结果如下所示
工作结果:消息按顺序发送
在视图中显示如下。
相同的查询错误结果
在视图中,您可以看到日期未按顺序对齐
如果您能提供帮助,我真的想不出哪里出了问题。我非常感谢您。您的日期是采用ISO-8601格式的UTC,但如果您没有使用时间戳订购,我认为日期与您的问题无关
我建议您使用带有
id
的orderBy
,它可以轻松解决您的问题:
$messages = Message::where(function ($query) use ($id) {
$query->where('user_id', '=', Auth::user()->id)
->where('receiver_id', '=', $id);
})->orWhere(function ($query) use ($id) {
$query->where('user_id', '=', $id)
->where('receiver_id', '=', Auth::user()->id);
})
->orderBy('id', 'ASC')
->get();
什么问题。?你得到的太多了,我真的没有考虑订购,因为它从一开始就给出了正确的结果。。当我从上到下填充消息而不是DESC时,我使用了ASC,它起了作用。谢谢你的帮助。如果你能编辑并制作ASC,我会把它标记为正确的。我把DESC编辑成ASC。很高兴听到这有帮助