我正在尝试创建一个网站,允许用户自定义建造汽车。用户启动时,将创建汽车模型的新实例。在汽车模型中,用户可以添加不同的零件并为其定义自定义颜色。零件的名称将被加载到存储所有名称的表中。因此它看起来像“皮带->棕色”,“左门->红色”。
现在,我已完成创建实体和关系。它们是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”。