こんにちはすべてI'amはSymfony2のFormBuilderといくつかの問題を持つが、実際に、私は実体住所へ(OneByOne)にリンクされているエンティティのユーザーを持って、本当に簡単なことのようですが、私は「ときUserType一つにAddressTypeにフォームを埋め込むしようとしているメートル私はこの例外に直面している:Symfony2の:フォームのビューのデータの問題
フォームのビューデータがクラスアクメ\バンドル\ AddressBundle \エンティティ\住所のインスタンスであることが予想、しかしインスタンスですクラス教義\共通\コレクション\のArrayCollectionの。 "data_class"オプションをnullに設定するか、Doctrine \ Common \ Collections \ ArrayCollectionクラスのインスタンスをAcme \ Bundle \ AddressBundle \ Entity \ Adresseのインスタンスに変換するビュートランスフォーマーを追加することで、このエラーを回避できます
私はここに私の問題は、より多くのunderstableにする(読み出しを可能にするに減少)いくつかのコード入れ:(FosUserBundleの1の拡張)を
マイUserクラス:
class User extends BaseUser
{
...
/**
* @ORM\OneToOne(targetEntity="Acme\bundle\AddressBundle\Entity\Address", cascade={"persist", "remove"})
* @ORM\JoinColumn(nullable=true)
* @Assert\Valid
*/
public $address;
.......
}
リンケをDフォームタイプbuildForm機能:
public function buildForm(FormBuilderInterface $builder, array $options)
{
parent::buildForm($builder, $options);
// add your custom field
$builder->add('name','text')
->add('address',new AddressType(),array(
'data_class' => 'Acme\Bundle\AddressBundle\Entity\Address'
)
);
}
マイアドレスフォームタイプ:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('city','text')
->add('title','text');
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Acme\Bundle\AddressBundle\Entity\Address'
));
}
はあなたの助けのために事前にありがとうございます!
エラーメッセージに示唆されたことを試しましたか? – cheesemacfly
はい、私はそれを試しましたが、私はこのメッセージを持っています。spl_object_hash()は、パラメータ1がオブジェクトであることを期待しています。 –