首页 > 解决方案 > Sonata Media Bundle - 如何按 ID 获取图像或画廊

问题描述

是否可以通过 Id 从 Sonata Media Bundle 中获取图像或画廊?

我知道如何获取与实体相关的图像或画廊。但在这种情况下,我只想获得没有实体的图像或画廊。

就像是:

$media = $mediaProvider->getMediaById(12);

或者

$gallery = $mediaProvider->getGalleryById(2);

有谁知道如何做到这一点?

标签: symfonysymfony4sonatasonata-media-bundle

解决方案


我找到了解决办法!

在控制器中获取图库:

$galleryId = 3;
$repo = $this->getDoctrine()->getRepository('ApplicationSonataMediaBundle:Gallery');
$gallery = $repo->find($galleryId);
$gallery = $gallery->getGalleryHasMedias();

在树枝模板中:

{% for img in gallery %}
    {% media img.media, 'gallery' %}
{% endfor %}

推荐阅读