У меня есть код, который выполняет итерацию динамических полей из базы данных.
Примерно так:
foreach (\App\AttributeGroup::getAllWithAttributes($request->route()->parameter('resourceId')) as $attributeGroup)
{
$fields = collect($attributeGroup->attributes)->map(function ($attribute) {
$class = 'Laravel\\Nova\\Fields\\' . ucfirst($attribute->type);
$field = $class::make($attribute->name, $attribute->code)
->fillUsing(function ($request, $model, $requestAttribute) use ($attribute) {
return function () use ($model, $request, $requestAttribute, $attribute) {
$model->attributes()->attach([
$attribute->id => ['value' => $request->post($requestAttribute)]
]);
};
});
// Only select dropdown menu has options
if ($attribute->type == 'select') $field->options($attribute->getOptions());
return $attribute->setValidation($field);
})->filter()->all();
$tabs[ $attributeGroup->name ] = $fields;
}
При этом я использовал fillUsing
для сохранения данных из каждого поляв промежуточную таблицу.
Ниже attribute_product
таблица:
Работает при сохранении данных, но непоказывать данные, когда я пытался отредактировать конкретный продукт.
Как можно отобразить данные из промежуточной таблицы (Отношение между атрибутом и продуктом - BelongsToMany)?Я понятия не имею в этом случае.