PHP分形变换器返回嵌入数据
发布时间:2020-12-13 22:52:27 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试使用Fractal来转换API数据输出.这适用于单个项目和集合,但我似乎无法使用嵌入式数据.不幸的是,我在Fractal上找不到很多“怎么做”.我按照Fractal网站上的信息,但它不起作用.我正在使用Laravel 4作为我的框架. 这是我在Transformer课上的内容: pro
我正在尝试使用Fractal来转换API数据输出.这适用于单个项目和集合,但我似乎无法使用嵌入式数据.不幸的是,我在Fractal上找不到很多“怎么做”.我按照Fractal网站上的信息,但它不起作用.我正在使用Laravel 4作为我的框架.
这是我在Transformer课上的内容: protected $availableEmbeds = array( 'requirements' ); public function transform(){ etc... } public function embedRequirements(Regions $regions) { return $this->collection($regions->requirements,new RequirementsTransformer); } 在我的控制器里面,我有 $regions = Regions::with($this->eagerLoad)->get(); 这给了我想要的结果. 但是,当我将此数据传递给变压器时,它无法提供所需的结果: return $this->respondWithCollection($regions,new RegionTransformer()); RespondWithCollection方法 protected function respondWithCollection($collection,$callback) { $resource = new Collection($collection,$callback); $fractalManager = new Manager(); $rootScope = $fractalManager->createData($resource); //$rootScope = $this->fractal->createData($resource); return $this->respondWithArray($rootScope->toArray()); } 这是输出: { "data": [ { "id": 36218,"name": "Netherlands","active": true,"created": "2014-02-28 11:17:02" } ],"embeds": [ "requirements" ] } 我希望“要求”成为“数据”键内部关系键的一部分. 有谁知道我做错了什么? 解决方法
我还遇到了这个问题.解决方案是
变压器类: public function embedRequirements(Regions $regions) { $requirements = $regions->requirements()->get(); return $this->collection($requirements,new RequirementsTransformer); } get()完全不同 $regions->的要求() – >获得(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |