Forms Symfony2 FormType实体将值设置为特定属性

Forms Symfony2 FormType实体将值设置为特定属性,forms,symfony,types,Forms,Symfony,Types,我正在生成一个表单,并使用entity FormType将一个实体映射到一个select字段 我可以设置“选择”以显示我喜欢的任何属性: 'property'=>'myProperty'(在symfony 2.7 its中)'choice\u label'=>'myProperty' 我使用的是Symfony 2.6,因此'choice\u value'选项不可用 我没有找到一种方法来指定使用哪个属性作为select的实际值,它似乎默认为id字段,这不是我想要的 $myData = $this-

我正在生成一个表单,并使用entity FormType将一个实体映射到一个select字段

我可以设置“选择”以显示我喜欢的任何属性:

'property'=>'myProperty'
(在symfony 2.7 its中)
'choice\u label'=>'myProperty'

我使用的是Symfony 2.6,因此
'choice\u value'
选项不可用

我没有找到一种方法来指定使用哪个属性作为select的实际值,它似乎默认为id字段,这不是我想要的

$myData = $this->fpem->getRepository('GameBundle:ContestTimeKey')->getCurrentKeysQuery($currentTimeframe);
    $builder
        ->add('contestTimeKey', 'entity', array(
            'class' => 'GameBundle:ContestTimeKey',
            'property' => 'dateString',
            'query_builder' => $myData,
            'label' => 'Select Date',
            'placeholder' => 'Pick a Date',
        ))
        ->add('userID', 'hidden')
        ->getForm();
}

$myData
是从存储库返回的一个查询,它获取我要填充select的实体。

您可以尝试使用另一个属性-
choice\u值
。一个回调函数,它接收实体项作为参数,并从中返回
$entity->yourProperty()例如。看一看,您可以使用数据转换器()或者只需将
Data
属性设置为所需的值并解决问题?也就是说,
array('data'=>5)
将从您的
entryFee
选项中选择
.5
(如果它是一个实体,同样适用,您可以将所需的实体作为
数据
而不是
5
传递)@官方文档设置
数据
非常不方便,应该避免动态列表中的回复,因为它是表单时间键的第一项。数据是从CompetingTimeKeyRepository返回的,我有3个属性ID、Date和DateString。我希望dateString显示在select(它是)上,并将值设置为date属性。您可以尝试使用另一个属性-
choice\u value
。一个回调函数,它接收实体项作为参数,并从中返回
$entity->yourProperty()例如。看一看,您可以使用数据转换器()或者只需将
Data
属性设置为所需的值并解决问题?也就是说,
array('data'=>5)
将从您的
entryFee
选项中选择
.5
(如果它是一个实体,同样适用,您可以将所需的实体作为
数据
而不是
5
传递)@官方文档设置
数据
非常不方便,应该避免动态列表中的回复,因为它是表单时间键的第一项。数据是从CompetingTimeKeyRepository返回的,我有3个属性ID、Date和DateString。我希望dateString显示在select(它是)上,并将值设置为date属性。