Добавление другого EntityType в formbuilder в Symfony4 - PullRequest
0 голосов
/ 06 января 2019

Возможно ли в Form Builder добавить сущность, которая не связана с объектом, в котором мы строим форму?

Я пытаюсь объяснить

У меня есть статья, категория, суперкатегория. Я хочу, чтобы мои пользователи сначала выбрали суперкатегорию, затем категорию, а затем статью.

В конструкторе форм я хотел бы добавить SuperCategory к ArticleType, но SuperCategory - это отношение ManyToOne в Category, которое является отношением ManyToOne в Article.

Вот мой код:

$builder->add('SuperCategory', EntityType::class, [
    'class' => SuperCategory::class,
    'choice_label' => 'Title'
]);

Как и ожидалось, он не работает, потому что класс Article не знает о SuperCategory.

Тем не менее, мне нужно показать эти SuperCategory, чтобы сделать "FormFlow". Возможно ли это?

Вот ошибка (как и ожидалось, ничего удивительного):

"Neither the property "SuperCategory" nor one of the methods 
"getSuperCategory()", "superCategory()", "isSuperCategory()", 
"hasSuperCategory()", "__get()" exist and have public access in class 
"App\Entity\Article".

1 Ответ

0 голосов
/ 06 января 2019
$builder->add('SuperCategory', EntityType::class, [
                'class' => SuperCategory::class,
                'choice_label' => 'Title',
                'mapped' => false
]);

The

'mapped' => false

было решением!

...