プロパティとしてエンティティにないフィールドを持つフォームタイプがありますが、エンティティにはフォームフィールドと同じ名前のゲッターとセッターがあり、次のように説明しています。
フォームタイプ:
$builder->add('theField', 'entity', array(
'label' => 'The field',
'class' => 'MyAppBundle:AnEntity',
'empty_value' => '',
));
実在物:
class User
{
//There is NOT a property called "theField"
public function setTheField($value)
{
...
}
public function getTheField()
{
...
}
}
したがって、Symfony2 は getter と setter を呼び出してバインドし、フォーム フィールドを表示すると予想されますが、次のエラーが発生します。
Property theField does not exists in class My\AppBundle\Entity\User
エンティティでプロパティを宣言せずにこのフォーム フィールドを作成する方法はありますか?
編集
奇妙ですが、プライベートプロパティを宣言すると、theField
うまくいきます(ところで、それは私が探しているものではありません)。