【发布时间】:2018-06-28 18:57:29
【问题描述】:
我想(出于项目原因)在类控制器中创建一个数组并将其传递给资源。 在我的控制器类中考虑这个方法:
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); ?
请不要建议我在模型中插入字段信息,该属性只能来自外部,来自控制器,不属于数据库中的模型。
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
];
}
}
【问题讨论】:
-
您的问题令人困惑。您想要
return new ExampleResource($attribute);的数组吗?听起来您几乎是在尝试创建模型工厂?