私はSymfony2.6.1を使用しています。
エンティティの構成:http://pastebin.com/rMkYHjkE
管理者クラス:
class PlaceAdmin extends Admin
{
// Fields to be shown on create/edit forms
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
//other fields
->add('types', 'collection', array(
'type' => new PlaceType,
'allow_add' => true,
));
;
}
//other stuff
}
選択したエンティティを編集しようとすると:
タイプ「string、Symfony \ Component \ Form \ ResolvedFormTypeInterfaceまたはSymfony \ Component \ Form \ FormTypeInterface」、「Syloc \ Bundle \ GooglePlacesBundle \ Entity \ PlaceType」の引数が指定されている必要があります
ドキュメントから:
これは、このコレクションの各アイテムのフィールドタイプです(テキスト、選択など)。たとえば、一連の電子メールアドレスがある場合は、電子メールタイプを使用します。他のフォームのコレクションを埋め込む場合は、フォームタイプの新しいインスタンスを作成し、それをこのオプションとして渡します。
したがって、次のようなことをしたいと思うでしょう。
class PlaceAdmin extends Admin
{
// Fields to be shown on create/edit forms
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
//other fields
->add('types', 'collection', array(
'type' => 'text',
'allow_add' => true,
));
;
}
//other stuff
}
collection
フォームタイプのエンティティタイプは定義しません。たぶん、あなたはsonata_type_collection
ただだけでなく、やりたいと思っていたのcollection
でしょうか?また、子エンティティタイプは、エンティティプロパティから自動的に解決されるため、このフォームタイプを介して渡す必要はありません。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加