解析包含嵌套转换器
Parsing includes for nested tranformers
考虑到以下情况,我正在尝试找出如何解析嵌套转换器的包含:
我有一个控制器,它设置我的 ArraySerializer,解析 OrderTransformer 的包含,然后创建数据:
$data = (new Manager())
->setSerializer(new ArraySerializer())
->parseIncludes('dispatches')
->createData(new Collection($orders, new OrderTransformer()));
在我的订单转换器中,我有从上面解析的包含调度:
class OrderTransformer
{
protected $availableIncludes = [
'dispatches',
];
public function transform($order)
{
return [];
}
public function includeDispatches($order)
{
return $this->collection($order->getDispatches(), new DispatchesTransformer());
}
}
但是我卡住的地方在我的 DispatchesTransformer 中:
class DispatchesTransformer
{
protected $avaiableIncludes = [
'product',
];
public function transform($order)
{
return [];
}
public function includeProduct()
{
// ...
}
}
我有可用的包含产品,我想使用。我不想将其设为默认包含。我该如何使用它?
我在我的控制器上尝试过这样的事情:
->parseIncludes(['dispatches', 'product'])
这可以使用点符号来实现,如下所示:
dispatches.product
它实际上在包含数据的文档中,我忽略了一些内容:https://fractal.thephpleague.com/transformers/
考虑到以下情况,我正在尝试找出如何解析嵌套转换器的包含:
我有一个控制器,它设置我的 ArraySerializer,解析 OrderTransformer 的包含,然后创建数据:
$data = (new Manager())
->setSerializer(new ArraySerializer())
->parseIncludes('dispatches')
->createData(new Collection($orders, new OrderTransformer()));
在我的订单转换器中,我有从上面解析的包含调度:
class OrderTransformer
{
protected $availableIncludes = [
'dispatches',
];
public function transform($order)
{
return [];
}
public function includeDispatches($order)
{
return $this->collection($order->getDispatches(), new DispatchesTransformer());
}
}
但是我卡住的地方在我的 DispatchesTransformer 中:
class DispatchesTransformer
{
protected $avaiableIncludes = [
'product',
];
public function transform($order)
{
return [];
}
public function includeProduct()
{
// ...
}
}
我有可用的包含产品,我想使用。我不想将其设为默认包含。我该如何使用它?
我在我的控制器上尝试过这样的事情:
->parseIncludes(['dispatches', 'product'])
这可以使用点符号来实现,如下所示:
dispatches.product
它实际上在包含数据的文档中,我忽略了一些内容:https://fractal.thephpleague.com/transformers/