我想您正在使用 Sonata Media Bundle
您必须使用该实体,并且您可以在这里找到所需的帮助者:http://sonata-project.org/bundles/media/2-2/doc/reference/helpers.html http://sonata-project.org/bundles/media/2-2/doc/reference/helpers.html
如果您需要获取控制器中的完整路径(可能发生,很少但可能发生),您必须使用媒体服务
$mm = $this->container->get('sonata.media.manager.media');
$pr = $this->container->get('sonata.media.provider.image');
$media = $mm->findOneBy(array('id' => $idImage));
$format = $pr->getFormatName($media, 'default');
$path = $pr->generatePublicUrl($media, $format);
或者使用控制器内的 twig helper
$format = 'default'; //the format you want to show
$path=$this->get('sonata.media.twig.extension')->path($image, $format);
如果您想将图像添加到 Sonata Admin 的列表字段(您的情况),您可以使用此代码
{% block field %}
{% thumbnail object.image, 'thumb' %}
{% endblock %}
其中 image 是实体的图像获取方法(es getImage() )