鉴于以下情况,我试图弄清楚如何解析嵌套转换器的包含:
我有一个控制器,它设置我的 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'])