PersonType
特定の人の子供をマップする必要があるコレクションフィールドを持つsymfony 2フォーム「PersonType」を作成しようとしています。
そして、私はこのエラーを受けています、
{"message":"unable to save order","code":400,"errors":["This form should not contain extra fields."]}
これが私のPerson
エンティティです。
class Person
{
private $id;
/**
* @ORM\OneToMany(targetEntity="Person", mappedBy="parent", cascade={"persist"})
*/
private $children;
/**
* @ORM\ManyToOne(targetEntity="Person", inversedBy="children")
* @ORM\JoinColumn(name="orderitem_id", referencedColumnName="id", nullable=true)
*/
private $parent;
}
そして私のタイプは、
class PersonType extends AbstractType
{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('id')
->add('children', 'collection', array(
'type' => new PersonType()
))
;
}
更新:問題はオプションが原因であることがわかりました:
'allow_add' => true,
'by_reference' => false
タイプにありませんでした。挿入するとフォームが表示されず、エラーなしでページがクラッシュするため、削除しました。
このエラーでは、人々は子供を持つことができないので、私は非常に混乱しています:/
誰かがすでに同じ問題に直面していますか? (自身の上にネストされた formType)
実際:私は自分の personType を PersonchildrenType に複製して、これを最初の最後に挿入しました...