如何在 Laravel 中从 json 索引计数

Posted

技术标签:

【中文标题】如何在 Laravel 中从 json 索引计数【英文标题】:How to index count from json in Laravel 【发布时间】:2020-06-30 02:18:22 【问题描述】:

我有一个结构如下的消息表:

id sender_id receiver_id pet_id 描述

描述是文本消息。我通过获取发送者为用户或接收者为用户的所有消息,然后通过我想要的 petId 过滤它们来获取与特定宠物相关的用户消息。

function messagesByPet($petId,$userId)
  $messages = Message::where('sender_id',$userId)->orWhere('receiver_id',$userId)->orderBy('created_at','asc')->get();
  $message = $messages->where('pet_id', $petId);
  return $message;

上述函数有效,但我收到的 JSON 如下。我不想要其中的索引,例如“0”“3”。如何删除它们?


  "0": 
    "id": 197,
    "sender_id": "5718",
    "receiver_id": "5716",
    "pet_id": "5113",
    "description": "Hi",
    "created_at": "2020-03-16 05:29:41",
    "updated_at": "2020-03-16 05:29:41"
  ,
  "3": 
    "id": 203,
    "sender_id": "5718",
    "receiver_id": "5716",
    "pet_id": "5113",
    "description": "Hi",
    "created_at": "2020-03-18 22:06:40",
    "updated_at": "2020-03-18 22:06:40"
  

【问题讨论】:

【参考方案1】:

get() 方法之后,你得到了集合。因此,您可以使用values() 方法返回一个新集合,其中键重置为连续整数:

return $message->values();

【讨论】:

以上是关于如何在 Laravel 中从 json 索引计数的主要内容,如果未能解决你的问题,请参考以下文章

如何在 PHP 中从具有 2 个计数的数组创建 2 个集合?

在Laravel的简单页面上传递关系中的计数

在 Laravel 4 中从 Jquery Ajax Json 中检索值

在 Laravel 中从数据库存储和加载 JSON 的最佳方法

在我的 laravel 应用程序中从我的 PHP API 获取 json 响应

使用 Laravel 在 json 列上创建索引