Php 分析包括对嵌套的转换程序进行分析

Php 分析包括对嵌套的转换程序进行分析,php,transformer,thephpleague-fractal,Php,Transformer,Thephpleague Fractal,考虑到下面的场景,我试图找出如何解析嵌套转换器的include: 我有一个控制器,它设置我的ArraySerializer,解析OrderTransformer的Include,然后创建数据: $data=(新管理器()) ->setSerializer(新阵列Serializer()) ->parseIncludes('dispatches')) ->createData(新集合($orders,new OrderTransformer()); 在我的订单转换器中,我有从上面解析的inclu

考虑到下面的场景,我试图找出如何解析嵌套转换器的include:

我有一个控制器,它设置我的ArraySerializer,解析OrderTransformer的Include,然后创建数据:

$data=(新管理器())
->setSerializer(新阵列Serializer())
->parseIncludes('dispatches'))
->createData(新集合($orders,new OrderTransformer());
在我的订单转换器中,我有从上面解析的include dispatches:

类OrderTransformer { 受保护的$availableIncludes=[ “派遣”, ]; 公共功能转换($order) { 返回[]; } 公共功能包括发货($order) { 返回$this->collection($order->getDispatches(),newdispatchestransformer()); } } 但是,我被困在我的DispatchesTransformer中:

类DispatchesTransformer
{
受保护的$AvailableIncludes=[
“产品”,
];
公共功能转换($order)
{
返回[];
}
公共功能includeProduct()
{
// ...
}
}
我有一个可用的包含产品,我想使用。我不想将此设置为默认包含。我怎样才能使用它

我从我的控制器中尝试过类似的方法:


->parseIncludes(['dispatches','product'])

这可以使用点符号实现,如下所示:

dispatches.product


它实际上在包含数据的文档中,我忽略了这一点:

这可以使用点符号实现,如下所示:

dispatches.product

实际上,它在文档中包含数据,我忽略了这一点: