如何从laravel eloquent unique中删除索引号

时间:2017-10-17 17:13:09

标签: php laravel eloquent

我正在使用一个完美返回值的查询,但它会为集合添加键号。如何删除索引号?

这是检索到的数据

{
"data": {
    "0": {
        "id": 135,
        "conversation_id": 11,
        "last_sender": null,
        "last_reciever": {
            "id": 54,
            "userName": "Sadek",
            "profilePic": "Nir7zgorNT2dmwcXJdhNK3ZmPAltmkEnj0SXDCDC.png",
            "firstName": "Sadek",
            "lastName": "Hossain"
        },
        "msg": "hello guys how are you",
        "attachment": null,
        "deleted": 0,
        "seen": 0,
        "created_at": "2017-10-17 16:56:41",
        "updated_at": "2017-10-17 16:56:41"
    },
    "2": {
        "id": 133,
        "conversation_id": 13,
        "last_sender": null,
        "last_reciever": {
            "id": 55,
            "userName": "buyer",
            "profilePic": "pRBDBFJW55baSnF560Ajid8jTgPo5kmg4i5LMhPG.jpeg",
            "firstName": "Matti",
            "lastName": "Rames"
        },
        "msg": "second message 2 to user second",
        "attachment": null,
        "deleted": 0,
        "seen": 0,
        "created_at": "2017-10-17 15:43:14",
        "updated_at": "2017-10-17 15:43:14"
    }
}

}

但我想要返回这样的结果

{
"data": [
    {
        "id": 133,
        "conversation_id": 13,
        "last_sender": null,
        "last_reciever": {
            "id": 55,
            "userName": "buyer",
            "profilePic": "pRBDBFJW55baSnF560Ajid8jTgPo5kmg4i5LMhPG.jpeg",
            "firstName": "Matti",
            "lastName": "Rames"
        },
        "msg": "second message 2 to user second",
        "attachment": null,
        "deleted": 0,
        "seen": 0,
        "created_at": "2017-10-17 15:43:14",
        "updated_at": "2017-10-17 15:43:14"
    },
    {
        "id": 135,
        "conversation_id": 11,
        "last_sender": null,
        "last_reciever": {
            "id": 54,
            "userName": "Sadek",
            "profilePic": "Nir7zgorNT2dmwcXJdhNK3ZmPAltmkEnj0SXDCDC.png",
            "firstName": "Sadek",
            "lastName": "Hossain"
        },
        "msg": "hello guys how are you",
        "attachment": null,
        "deleted": 0,
        "seen": 0,
        "created_at": "2017-10-17 16:56:41",
        "updated_at": "2017-10-17 16:56:41"
    }
]

}

我的查询是(我认为最重要的几个部分)

->orderBy('created_at', 'desc') 
->get()
->unique('conversation_id');

请告诉我如何删除" 0"和" 2"来自这个系列。 任何帮助都非常感谢。 谢谢。

2 个答案:

答案 0 :(得分:3)

为了获得没有索引的集合,您必须添加“值”方法

$collection->unique('id')->values();

答案 1 :(得分:1)

您必须手动执行

   $users=\App\User::get()->toArray(); // your query here 
   $data['data']=[];
   foreach($users as $user ){ 
         $data['data'][]=$user; 
    }
   $k=json_encode($data); dd($k);