dad*_*jar 5 php api json laravel
我想(出于项目原因),在类控制器中创建一个数组并将其传递给资源.在我的控制器类中考虑这个方法:
public function getExample(){
$attribute=array('otherInfo'=>'info');
return new ExampleResource($attribute);
}
Run Code Online (Sandbox Code Playgroud)
而我在课堂上会写一些像ExampleResource这样的东西:
public function toArray($request){
return[
'info' => $this->info
];
}
Run Code Online (Sandbox Code Playgroud)
我如何转换值$属性来执行此操作return new ExampleResource($attribute);?
请不要建议我在模型中插入字段信息,这个属性只能来自外部,来自控制器而不属于数据库中的模型.
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
];
}
}
Run Code Online (Sandbox Code Playgroud)
向资源类添加构造函数:
public function __construct($resource, $attribute)
{
$this->resource = $resource;
$this->attribute = $attribute;
}
Run Code Online (Sandbox Code Playgroud)
然后在toArray():
return [
'info' => $this->attribute,
'created' => $this->created_at
];
Run Code Online (Sandbox Code Playgroud)
并使用它:
return new ExampleResource(Model::find($id), $attribute);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4835 次 |
| 最近记录: |