Php 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

嗨,我正在尝试在LARAVEL上创建一对一消息系统。它一直工作正常,直到对一些用户来说,它开始显示出与预期不同的结果。而且这种情况只发生在一些用户身上。。这个查询有什么问题

$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。很高兴听到这有帮助