Symfony 4: создание формы для сущности, имеющей отношения с несколькими сущностями - PullRequest
0 голосов
/ 14 декабря 2018

Я пытаюсь создать сайт, который позволит пользователям создавать машины на заказ.Новый экземпляр модели автомобиля будет создан при запуске пользователя.В модели автомобиля пользователь может добавлять различные детали и определять собственный цвет.И в названия частей будет загружена таблица, в которой хранятся все имена.Так что это будет выглядеть как «пояс -> коричневый», «левая дверь -> красный».

Прямо сейчас у меня закончено создание сущностей и отношений.Это сущности CarModel, ModelPart и PartName:

сущность CarModel

class CarModel
{
    private $id;

    /**
    * @ORM\ManyToMany(targetEntity="ModelPart", inversedBy="carModels") 
    */
    private $modelParts;
}

сущность ModelPart

class ModelPart
{
    private $id;

    /**
     * @ORM\ManyToMany(targetEntity="CarModel", mappedBy="modelParts")
    */
    private $carModels;

    /**
     * @ORM\OneToOne(targetEntity="PartName")
    */
    private $partName;

    // @var string
    private $color;
}

сущность PartName

class PartName
{
    private $id;

    private $name;

    private $modelPart
}

НоЯ не могу понять, введите их из формы.

Форма CarModelType

class CarModelType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('part_name', EntityType::class, [
                 'class' => partName::class,
                 'choice_label' => 'name'
           ])
            ->add('color', TextType::class)            
        ;
    }

Я получил сообщение об ошибке:

Ни одно из свойств "part_name"ни один из методов "getPartName ()", "partName ()", "isPartName ()", "hasPartName ()", "__get ()" не существует и не имеет открытого доступа в классе "App \ Entity \ CarModel".

...