我有一个Profile
实体,其中包含来自User
实体的简单派生身份,如Doctrine docs中所述。因此User
提供id
,Profile
使用外键作为标识符。
User:
type: entity
id:
id:
type: integer
generator:
strategy: AUTO
Profile:
type: entity
id:
user:
associationKey: true
oneToOne:
user:
targetEntity: User
然后我在表单中有一个实体字段,使用Profile
作为类。
->add('profile', 'entity', array(
'class' => 'AppBundle\Entity\Profile'
))
我希望结果元素像往常一样:
<select>
<option value="[id of the profile]">[toString of the profile]</option>
</select>
但我得到了:
<select>
<option value="[toString of the user]">[toString of the profile]</option>
</select>
当然,在提交表单时,我收到验证错误,因为它需要id
但是会得到一个字符串。
如何强制该字段将个人资料id
用作value
?或者至少是用户id
(也是相同的)。
答案 0 :(得分:0)
使用“属性”。 http://symfony.com/doc/current/reference/forms/types/entity.html#property
您将在手册
中看到答案