我正在尝试从收件箱的"messages"表中获取最新消息聊天是在项目(在我的门户中列出)的用户和所有者之间进行的我想获取item_id的唯一数据
我的密码是
public function inbox()
{
// $inbox = ChatMessage::distinct('item_id')->where('incoming_msg_id', auth()->user()->id)->orWhere('outgoing_msg_id', auth()->user()->id)->orderBy('msg_id', 'DESC')->get();
$inbox = Message::where('incoming_msg_id', auth()->user()->id)->orWhere('outgoing_msg_id', auth()->user()->id)->latest('msg_id')->get()->unique('item_id');
return $this->sendResponse($inbox,'Chat');
}
结果是完美的,只是我需要的是非关联/非对象数组。
电流输出
{
"success": true,
"data": {
"0": {
"msg_id": 68,
"incoming_msg_id": 0,
"outgoing_msg_id": 2,
"msg": "ok let me check",
"msg_for": "hadiya",
"item_id": "13",
"msg_at": "1 day ago"
},
"1": {
"msg_id": 62,
"incoming_msg_id": 0,
"outgoing_msg_id": 2,
"msg": "test msg",
"msg_for": "hadiya",
"item_id": "1",
"msg_at": "2 days ago"
}
},
"message": "Chat"
}
预期输出
{
"success": true,
"data": [
{
"msg_id": 68,
"incoming_msg_id": 0,
"outgoing_msg_id": 2,
"msg": "ok let me check",
"msg_for": "hadiya",
"item_id": "13",
"msg_at": "1 day ago"
},
{
"msg_id": 62,
"incoming_msg_id": 0,
"outgoing_msg_id": 2,
"msg": "test msg",
"msg_for": "hadiya",
"item_id": "1",
"msg_at": "2 days ago"
}
],
"message": "Chat"
}
2条答案
按热度按时间1mrurvl11#
这很简单,通过以下方法,你可以设置http状态码也(可选).
stszievb2#
经过大量的修改我得到了解决方案。我以我要找的最好的JSON格式得到了截然不同的数据...
说明:在Laravel 8中有一个名为
groupBy()
的函数,用于获得不同的结果。请查看此处的链接以了解更多信息。