当我需要显示汽车与其品牌之间的 OneToMany 关系时,我有一个表格。
当我现在点击下拉菜单时,我只能看到车名。因为它是从汽车实体自动创建的。
我希望在下拉列表中看到的是 NameOfTheCar - NameOfTheBrand。对于每一个选择
我有一个像这样的 CarType:
$builder->add('cars', 'choice', array(
'choices' => array(
'Test' => 'Example',
),
'required' => true,
));
我怎样才能做到这一点 ?
编辑:我听从了雨果的建议。
现在我得到了
$builder->add('lake', 'entity', array(
'class' => 'Pondip\KeepnetBundle\Entity\CatchReport',
'required' => true,
));
而我的 __toString 的 CatchReport 是
public function __toString()
{
return $this->car .' - '. $this->car->getBrand();
}
当湖是
/**
* @var integer
*
* @ORM\ManyToOne(targetEntity="Pondip\CarBundle\Entity\Car")
* @ORM\JoinColumn(name="car_id", referencedColumnName="id")
* @Assert\NotBlank()
*/
private $car;
在我的品牌实体中,我有:
/**
* @var integer
* @Assert\Type(type="Pondip\CarBundle\Entity\Brand")
*
* @ORM\ManyToOne(targetEntity="Pondip\CarBundle\Entity\Brand")
* @ORM\JoinColumn(name="brand_id", referencedColumnName="id")
*/
private $brand;
现在我的 toString() 函数出现错误。我做错了什么 ?
谢谢