Я пытаюсь выяснить, как я могу проанализировать включения для вложенных преобразователей, учитывая сценарий, приведенный ниже:
У меня есть контроллер, который устанавливает мой 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'])