我有一个Product实体映射如下:
class Product
{
use IdentifiedAutogeneratedEntityTrait;
use BaseEntityTrait;
......
/**
* @ORMManyToOne(targetEntity="ApplicationSonataMediaBundleEntityMedia")
* @ORMJoinColumn(name="product_image", referencedColumnName="id")
*/
protected $image;
......
public function setImage(ApplicationSonataMediaBundleEntityMedia $image)
{
$this->image = $image;
}
}
然后在我的admin表单中我有这样的内容:
protected function configureFormFields(FormMapper $form)
{
$form
->add('product_name', null)
->add('product_description', null)
->add('image', 'sonata_type_admin');
}
当我添加新产品时,我可以上传图像,是的,它可以工作,但是我可以在创建产品的页面上看到图像,我怎么能做到呢?
我认为你必须使用sonata_type_model_list
而不是sonata_type_admin
。
protected function configureFormFields(FormMapper $form)
{
$form
->add('product_name', null)
->add('product_description', null)
->add('image', 'sonata_type_model_list');
}