【发布时间】:2018-06-26 11:45:48
【问题描述】:
我正在尝试让我的一个实体类中的特定字段出现在表单的下拉列表中。实体确实具有一对一的关系,尽管我试图检索到我的表单的字段不是与另一个类相关的字段。
为了使事情更简单,我还希望仅在下拉列表中显示该字段的不同值。我已经尝试过类似的事情:How to select distinct query using symfony2 doctrine query builder? 但还没有让它工作。我产生了诸如“警告:spl_object_hash() 期望参数 1 是对象,给定字符串”之类的错误
以下是我目前写的...
在表单的类中...
$builder
->add('typeOfPosition', EntityType::class, array(
'class' => Choices::class,
'label' => 'Type of Position: ',
'query_builder' => function(EntityRepository $er){
return $er->createQueryBuilder('c')
->select('DISTINCT c.type');
},
以及表单所在的实体:
/**
* @ORM\OneToOne(targetEntity="Position", inversedBy="division")
* @ORM\JoinColumn(name="position", referencedColumnName="id")
*/
private $position;
/**
* @var string
*
* @ORM\Column(name="type", type="string", length=255)
*/
private $type;
它是关系实体:
/**
* @var string
*
* @ORM\OneToOne(targetEntity="Choices", mappedBy="position")
*/
private $division;
【问题讨论】:
标签: php forms symfony doctrine-orm