는 안녕 Symfony2 FormBuilder 몇 가지 문제가, 사실, 난 엔티티 ADRESS에 연결 (OneByOne)하는 기업 사용자를 모두 I'am는 정말 간단한 것 같다하지만 난 '때 m는 UserType을로 인 AddressType 양식을 삽입하려고 나는이 예외에 직면하고있어 하나 :Symfony2 : 폼의 데이터보기 문제가
형태의 뷰 데이터는 클래스 한국 전기 \ 번들 \ AddressBundle \ 법인 \ ADRESSE의 인스턴스가 될 것으로 예상하지만, 인스턴스이다Doctrine \ Common \ Collections \ ArrayCollection 클래스에 있습니다. "data_class"옵션을 null로 설정하거나 Doctrine \ Common \ Collections \ ArrayCollection 클래스의 인스턴스를 Acme \ Bundle \ AddressBundle \ Entity \ Adresse의 인스턴스로 변환하는 뷰 변환기를 추가하여이 오류를 피할 수 있습니다.
class User extends BaseUser
{
...
/**
* @ORM\OneToOne(targetEntity="Acme\bundle\AddressBundle\Entity\Address", cascade={"persist", "remove"})
* @ORM\JoinColumn(nullable=true)
* @Assert\Valid
*/
public $address;
.......
}
LINKE :합니다 (FosUserBundle 하나의 확장)
내 사용자 클래스를 :
나는 내 문제가 더 understable하기 위해 여기 (읽을 수 감소) 일부 코드를 넣어 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이 객체가 될 것으로 예상합니다. –