Php 在Laravel 5中使用嵌套变压器

Php 在Laravel 5中使用嵌套变压器,php,laravel-5,Php,Laravel 5,在我的Laravel 5应用程序中,我正在实现变形金刚和分形。 在我的示例中有两种不同的模型:User和UserLogin。每个用户都可以有多个用户登录(我已经在他们之间添加了一对多关系)。现在我想“清理”我的响应,它返回一个用户及其用户登录名。所以我创造了两个变形金刚,我想我应该在他返回的另一个里面调用一个变形金刚,如下所示: "UserLogins"=> Fractal::collection($user->userLogins, new UserLoginTransformer

在我的Laravel 5应用程序中,我正在实现变形金刚和分形。 在我的示例中有两种不同的模型:
User
UserLogin
。每个用户都可以有多个用户登录(我已经在他们之间添加了一对多关系)。现在我想“清理”我的响应,它返回一个用户及其用户登录名。所以我创造了两个变形金刚,我想我应该在他返回的另一个里面调用一个变形金刚,如下所示:

"UserLogins"=> Fractal::collection($user->userLogins, new UserLoginTransformer).......
不幸的是,它不起作用,错误是它找不到分形库(已正确导入)


可能是什么问题?

终于找到了解决方案。 分形类不存在,我无法使其更简单。 你没有正确使用图书馆

因此,解决方案是:

use \League\Fractal\Manager;
use \League\Fractal\Resource\Collection as FractalCollection;

$fractal = new Manager();
$resource = new FractalCollection($user->userLogins, new UserLoginTransformer);

return $fractal->createData($resource)->toArray();

哼Laravel 5不再使用全局名称空间,您是否为分形库做了“使用…”语句?是的,在我的transformer中会自动添加。“use League\Fractal;”您能发布错误吗?UserTransformer.php第37行中的FatalErrorException:未找到类'League\Fractal'。尝试执行“composer dumpautoload”,可能您的类映射必须由composer重写。如果您想删除响应中的“data”键,您可以返回current($Fractal->createData($resource)->toArray());