2

Symfony 2.3 では SonataAdminBundle を使用しています。私のエンティティには、次のフィールドがあります。

/**
 * @var array
 * @ORM\Column(name="testimonial", type="array" )
 */
protected $testimonials;

フォームまたはリストをレンダリングしようとすると、管理者クラスで

->add('testimonials')

フォームには入力がなく、リストでは配列から文字列への例外が発生します。

続けて、次のような証言を保存しています

array(
     'title' => 'test'
     'author' => 'test'
);

では、それを機能させるための最良の方法は何でしょうか? 私のフォームでは、配列に入力できる単純なテキスト フィールドのみが必要です。また、配列全体を show/listing に表示する必要があります。

ありがとうございました

4

1 に答える 1

2

Data Transformersを使用する必要があります。この場合、配列型をレンダリングする方法と、この型のフォーム データをデータベースに永続化する方法を管理できます。

最後に、SonataAdmin フォーム マッパーは次のようになります。

->add($formMapper->create('testimonials', 'fieldType')
    ->addViewTransformer($someTransformer)
)
于 2013-07-09T13:10:00.510 に答える