【发布时间】:2021-05-26 21:10:02
【问题描述】:
我正在开发一个返回与两个 id 相关的信息的函数。我想在成功消息之后将这些 ID 附加到响应中。这是我的代码:
调用存储库中另一个的控制器函数(工作正常)
public function getCampaignEstablishments($lang, $campaignId, $companyId)
{
$establishments = $this->repository->allEstablishments($campaignId, $companyId);
return CampaignEstablishments::collection($establishments);
}
过滤数据的资源函数(用于测试显示所有数据)
class CampaignEstablishments extends PotatoesResource
{
const SINGLE_KEY = 'establishment';
const COLLECTION_KEY = 'establishments';
public function toArray($request)
{
return parent::toArray($request);
}
}
这是导入的集合资源
public static function collection($collection)
{
$subclass = get_called_class();
return self::baseResource(
$subclass::COLLECTION_KEY,
parent::collection($collection)
);
}
public static function baseResource($key, $value)
{
return [
'success' => true,
$key => $value
];
}
目前我正在收到此回复
{
"success": true,
"establishments": [
{
/*Data of an establishment*/
},
{
/*Data of an establishment*/
},
{
/*Data of an establishment*/
}
]
}
这是我想要得到的回应
{
"success": true,
"campaign_id": /*the id passed in $campaignId*/
"company_id": /*the id passed in $companyId*/
"establishments": [
{
/*Data of an establishment*/
},
{
/*Data of an establishment*/
},
{
/*Data of an establishment*/
}
]
}
我尝试了很多不同的方法,得到了很多不同的结构,但不是特别是这个。有没有可能做到这一点?
【问题讨论】:
标签: arrays json laravel filter response