У меня есть таблица для категорий и parent_category с ralation ManyToOne.
Это моя таблица категорий:

А это моя таблица parent_category:
Это мой код в FormType:
->add('category',EntityType::class,array(
'class'=>Category::class,
'choice_label'=>'name',
'group_by'=>'parent_id'
))
И это ответ в браузере.
Моя родительская категория должна быть для 1-Якета (Куртки), 2-Блузи (Блузки), 3-> Панталони (Штаны). Мне нужно строковое значение этого parent_id, например:
Якета
--Пролетни
--Зимни
--Жилетки
Блузи
--Тениски
--Ризи
--Дълъг ръкав
Панталони
--Къси
--Дълги
--Дънки
Как это сделать? Спасибо!




Может быть, вы можете попробовать это:
'group_by' => function($value, $key, $index) {
return $value->getParent()->getName();
}
если у вашего объекта Category есть метод getParent (), который возвращает объект ParentCategory, а у объекта ParentCategory есть метод getName (), тогда он должен работать.
Спасибо, я сделал запрос, и теперь все в порядке!
Почему вы создали этот метод в своем CategoryRepository? Вам это не нужно для группировки. Метод getParent () должен находиться в вашем классе Entity, а не в репозитории.
Да, моя ошибка.
(Размещено решение от имени автора вопроса).
Новый обновленный код в FormType:
'group_by' => function(Category $category) {
return $category->getParent()->getName();
}
Как правильно решить мою проблему? Спасибо