Я работаю над проектом Symfony, используя Sonata.
Контекст:
Я получил разные лица:
- Продукт (
ID
, categories (relation)
, characteristicValues (relation)
)
- Категория (
ID
, characteristics (relation)
)
- Характеристика (
ID
, id_category (relation)
, label
).
- Характеристическое значение (
ID
, id_product (relation)
, id_characteristic (relation)
, value
)
Отношения:
- Товар
--OneToMany-->
ХарактеристикаЦена
- Категория
-->OneToMany-->
Характеристика
- Характеристика
-->OneToMany-->
Характеристика Значение
- Товар
--ManyToMany-->
Категория
Проблема:
Мне нужно получить все characteristics
категорий продукта (и их values
, если они установлены) в ProductAdmin и показать входные данные для каждой из них (например, Characteristic1: value1).
Что я сделал:
Я пытался вызвать функцию CharacteristicValueRepository
в ProductAdmin
, но хранилище не было создано.
Код ProductAdmin действительно прост:
final class ProductAdmin extends AbstractAdmin
{
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->with('Product information', ['class' => 'col-md-6'])
->add('name', TextType::class, [
'label' => 'Name of the product'
])
->add('categories', EntityType::class, [
'class' => Category::class,
'choice_label' => 'name',
'multiple' => true,
'label' => 'Categories of the product'
])
->end();
}
protected function configureDatagridFilters(DatagridMapper $datagridMapper)
{
$datagridMapper->add('name');
$datagridMapper->add('categories');
}
protected function configureListFields(ListMapper $listMapper)
{
$listMapper->add('id');
$listMapper->addIdentifier('name');
$listMapper->addIdentifier('categories');
}
}
Примечания:
Я использую последнюю версию всего (Symfony, Sonata, ...)
Если кто-то знает, как мне помочь, я был бы очень благодарен!