首页 > 解决方案 > 向 JsonResource 发送一个额外的模型,以便向第一个模型添加一列

问题描述

我有一个模型,有 5 个实例,称为 level,另一个称为 member。对于给定的成员,我需要为每个级别调用一个 JsonResource 并在 toArray 方法上添加一个名为 available 的列。为了做到这一点,我需要以某种方式将成员 ID 与关卡实例一起传递给 JsonResource,如下所示:

$levels = Level::with('reward')->get();
$result = collect();
foreach ($levels as $level) {
$result->push(new RoadmapResource($level,$member_id);
}

当然这不起作用,因为 toArray 只接受 1 个参数,所以我需要一种方法来传递这两个参数,这样我就可以在添加新列之前进行所需的计算。

标签: phplaravel

解决方案


尝试在__contstruct这里传递第二个参数:

public function __construct($resource, $param) {  parent::__construct($resource);}

推荐阅读