Laravel 资源中的附加数据

2023-12-05

我使用控制器中的 Laravel 资源:

        $data = Project::limit(100)->get();

        return response()->json(ProjectResource::collection($data));

我喜欢将附加信息传递给 ProjectResource。怎么可能?我如何访问附加数据?

我尝试这样:

        $data = Project::limit(100)->get();

        return response()->json(ProjectResource::collection($data)->additional(['some_id => 1']);

但这不起作用。

正确的方法是什么?

我喜欢访问some_id在这样的资源中。

    public function toArray($request)
    {

        return [
            'user_id'                =>      $this->id,
            'full_name'              =>      $this->full_name,
            'project_id'             =>      $this->additional->some_id

        ];
    }


在您的控制器中,不要将返回资源包装在response()->json中。 只需返回 ProjectResource 即可。

So like:

$data = Project::limit(100)->get();
return ProjectResource::collection($data)->additional(['some_id => 1']);

抱歉误解了这个问题。 我认为没有办法像这样传递额外的数据。因此,您必须遍历集合并以某种方式添加它。

一种选择是添加到 AnonymousCollection 中的资源。例如:

$projectResource = ProjectResource::collection($data);
$projectResource->map(function($i) { $i->some_id = 1; });
return $projectResource;

然后在 ProjectResource 中:

return [
  'user_id' => $this->id,
  'full_name' => $this->full_name,
  'project_id' => $this->when( property_exists($this,'some_id'), function() { return $this->some_id; } ), 
];

或者将 some_id 添加到项目集合中,然后将其传递给 ResourceCollection。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel 资源中的附加数据 的相关文章

随机推荐

  • vue如何从子组件访问v-model

    我的孩子组件是这样的
  • PHP 一秒发送多个号码短信请求

    我正在尝试使用 API 发送短信 它几乎每秒发送一条短信 但我想在一秒钟内使用 PHP 中的多线程 pthreads 发送多条短信 这怎么可能 或者我怎样才能至少从我的一端异步发送多个短信请求到API服务器 Threads Class cl
  • Matlab 中 IFFT 的缩放问题

    我正在 Matlab 中研究 IFFT 将其应用于高斯 根据维基百科表 傅里叶变换对将是 F w sqrt pi a exp w 2 4a 频率 以及 f t exp at 2 及时 我修改了代码上一个问题加上 Cris Luengo 执行
  • PHP 在字符串中动态引用变量

    我的表单中有多个 PHP 变量 number1 number2 number3 and so on 我想在循环内部动态引用它们以从中检索信息 但不确定如何动态引用静态变量 前任 for i 1 i lt 10 i The first num
  • 如何在 MS Access 2007 或 MS SQL Server 2005 中通过 SQL 将字段转换为行

    我有一个旧的 MS Access 2007 表 其中包含 52 个字段 一年中的每周 1 个字段 代表历史销售数据 加上实际年份的一个字段 我想将此数据库转换为更传统的时间 值列表 有谁知道如何在不编写带有 52 个以上显式参数的查询的情况
  • Net::SSH 与非 UNIX/Linux 主机?

    我正在尝试使用 Net SSH 库来登录和管理支持 ssh 的主机 TL1 是一种电信设备 我似乎能够成功登录 但是当我尝试 ssh exec 某些内容时 它会中止并表示无法执行命令 这是我的简单代码 require net ssh Net
  • .NET Core API 中的自定义授权过滤器

    我想在使用我的核心 api 访问任何数据之前对用户进行授权 所以我尝试使用 JWT 身份验证 我在使用 api 登录用户时成功生成了令牌 并将该令牌保存在会话中的客户端 现在每当用户想要使用 api 访问任何数据时 我都会将该令牌在标头中发
  • 如何通过 HTTP 从 Internet 检索文件?

    我想从 Internet 下载文件 乍一看 InternetReadFile 似乎是一个很好且简单的解决方案 事实上 好得令人难以置信 事实上 经过一番挖掘 我开始发现它实际上存在很多问题 人们在使用这段代码时抱怨各种各样的问题 出现问题的
  • 如何在打印函数中定义变量?

    我是这个领域的新手 我正在尝试解决一个问题 不太确定实际上是否可能 我想在显示器上打印一些信息以及用户的一些输入 以下工作正常 gt gt gt print Hello input tellmeyourname tellmeyourname
  • 无法找到要实例化的界面控制器类“InterfaceController”

    每次运行项目并尝试导航到另一个屏幕时 我都会收到此错误 Unable to find interface controller class HelpInterfaceController to instantiate 我正在正确使用我所知道
  • 设备向上/向下和侧向倾斜会触发方向通知

    我有一个针对 iOS7 的应用程序构建 其中 UIViewController 应该支持横向左右和纵向 纵向上下颠倒 其他 ViewController 应该仅支持横向左右方向 我已使用通知来通知方向更改并相应地刷新子视图 我还在检查 UI
  • 如何使用XSLT仅获取某些行和某些列?

    如何使用 XSLT 转换此 XML 文件
  • 从 iPhone 应用程序拨打电话 [重复]

    这个问题在这里已经有答案了 可能的重复 从我的应用程序中拨打 iPhone 电话 我想通过 iPhone 应用程序拨打给定号码 您能建议任何最好的教程来解释它或告诉我这个过程吗 你可以试试 NSURL phoneNumberURL NSUR
  • 单击展开包含详细信息和摘要标签

    我正在使用单击展开折叠使用
  • 将文件内容读入ArrayList

    在之前的项目中 我需要将文件内容读取到数组中 现在我必须做同样的事情 只是我必须将内容读入 ArrayList 我遇到的几个问题是 如何逐步浏览 ArrayList 并分别添加每个项目 如果文件包含超过 10 个输入 则必须退出 我已经尝试
  • 如何在 Java 中并行运行某些东西?

    我正在尝试打印一个范围内的所有可能的组合 例如 如果我的lowerBound是 3 我的max是 5 我想要以下组合 5 4 5 3 4 3 我已经用这个实现了helper 下面找到的函数 当然 如果我的最大值很大 则需要很多组合 这将需要
  • 需要帮助使用泰勒级数逼近Python中的正弦函数

    我对 Python 很陌生 我正在尝试使用近似正弦函数this series 我的代码如下所示 import math def sin x n sine 0 for i in range n sign 1 i sine sine x 2 0
  • 测试一个数字是否是斐波那契数

    我知道如何制作斐波那契数列 但我不知道如何测试给定的数字是否属于斐波那契数列 我想到的一种方法是生成斐波那契数列 数字到该数字并查看它是否属于该数组 但必须有另一种更简单 更快的方法 有任何想法吗 一个非常好的测试是 N 是斐波那契数当且仅
  • 如何使用命令提示符连接到 mysql 服务器:错误

    我正在使用以下命令使用命令提示符连接到数据库 mysql mysql h localhost u test ptest test 但我收到以下错误 ERROR 1064 42000 You have an error in your SQL
  • Laravel 资源中的附加数据

    我使用控制器中的 Laravel 资源 data Project limit 100 gt get return response gt json ProjectResource collection data 我喜欢将附加信息传递给 Pr