gpt4 book ai didi

php - 如何在 Laravel 5.5 中将数组作为 API 资源返回

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:43:24 26 4
gpt4 key购买 nike

我想(出于项目原因)在类 Controller 中创建一个数组并将其传递给资源。在我的 Controller 类中考虑这个方法:

public function getExample(){
$attribute=array('otherInfo'=>'info');

return new ExampleResource($attribute);
}

我在类里面会写一些类似 ExampleResource 的东西:

public function toArray($request){
return[
'info' => $this->info
];

}

如何转换值 $attribute 以执行此操作 return new ExampleResource($attribute); ?

请不要建议我在模型中插入字段信息,这个属性只能来自外部,来自 Controller ,不属于数据库中的模型。

class ExampleResource extends Resource
{
private $info;
/**
*
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function __construct($info)
{
$this->$info = $info;
}


public function toArray($request)
{
return[
'info'=>$this->$info,
'id' => $this->id
];
}
}

最佳答案

为资源类添加构造函数:

public function __construct($resource, $attribute)
{
$this->resource = $resource;
$this->attribute = $attribute;
}

然后在 toArray() 中:

return [
'info' => $this->attribute,
'created' => $this->created_at
];

并使用它:

return new ExampleResource(Model::find($id), $attribute);

关于php - 如何在 Laravel 5.5 中将数组作为 API 资源返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48342714/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com