gpt4 book ai didi

mysql - 按日期排序进行分组

转载 作者:行者123 更新时间:2023-11-30 00:43:27 25 4
gpt4 key购买 nike

我收到了按日期排序的用户的最新未读消息:

$messages = Message::whereReceiver(Auth::user()->id)->whereRead(0)->orderBy('sent', 'desc')->get();

输出是:

Array
(
[0] => Array
(
[id] => 17
[suggest_id] => 5
[content] => How are you?
[receiver] => 1
[sent] => 2014-02-05 18:50:37
[read] => 0
)

[1] => Array
(
[id] => 16
[suggest_id] => 5
[content] => Hi
[receiver] => 1
[sent] => 2014-02-05 18:09:15
[read] => 0
)
)

但是当我执行groupBy时,结果将不再降序:

$messages = Message::whereReceiver(Auth::user()->id)->whereRead(0)->orderBy('sent', 'desc')->groupBy('suggest_id')->get();

输出:

Array
(
[0] => Array
(
[id] => 16
[suggest_id] => 5
[content] => Hi
[receiver] => 1
[sent] => 2014-02-05 18:09:15
[read] => 0
)
)

但是我希望输出日期为 2014-02-05 18:50:37 的消息!

最佳答案

这可能是一种替代方案(如果您只想收到一条/第一条消息)

Message::whereReceiver(Auth::user()->id)
->whereRead(0)
->orderBy('sent', 'desc')
->take(1) // Just get the top/first one from the set, ordered by desc
->get();

如果您想获取所有未读消息,那么(您已经拥有了)

Message::whereReceiver(Auth::user()->id)
->whereRead(0)
->orderBy('sent', 'desc')
->get();

关于mysql - 按日期排序进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21581506/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com