Привет!
У меня есть задача возвращать в API массив данных для формы товара. Соответственно, есть сам товар и несколько коллекций объектов для select-инпутов.
Метод в контроллере товаров выглядит примерно так:
public function formSchemaTestResource(int $product): ProductFormSchemaResource
{
return (new ProductFormSchemaResource(Product::with([
'size'
])->find($product)))
->additional([
'sizes' => Size::all()
]);
}
Метод в ресурсном контроллере товаров - так:
public function toArray(Request $request): array
{
return [
'breadCrumbs' => [
[
'name' => 'Товары',
'link' => '#',
'active' => 0
],
[
'name' => is_null($this) ? 'Новый товар' : 'Редактируем товар «' . $this->name . '»',
'link' => '#',
'active' => 1
]
],
'tabs' => [
'tabTitle' => 'Системное',
'tabContent' => [
[
'name' => 'id',
'type' => 'hidden',
'validations' => [],
'value' => $this?->id,
],
[
'label' => 'Размер',
'name' => 'size_id',
'placeholder' => 'Выберите размер',
'type' => 'select',
'options' => ????, // Вот сюда я хочу как-то передать коллекцию sizes
'value' => $this?->size_id,
],
]
]
];
}
Метод "additional" ресурсного контроллера просто добавляет массив "sizes" в ответ, но я не имею к нему доступа в методе toArray.
Собственно, вопрос: как в ресурсный контроллер передать дополнительную переменную?
Спасибо!