PHP拉拉维尔图像标签


php laravel image tags

好吧,正如标题所说,我正在使用Laravel和标签,我的问题如下。

我有一个图像库,其中每个图像都有一个标签。双方的关系是多对多的。除了一件事,一切都很好。当我浏览到我的媒体库时,所有图像都打印在那里,我还想打印与图像相关的所有标签。通过 Eloquent 我可以打印标签,但问题是需要每个图像的 id 才能正确打印相关标签。

我的映像存储库是上面对 imageId 进行硬编码的。从 repo 我将其传递给控制器,然后传递给带有 foreach 循环的视图。

$result = new StdClass;
$result->items = $images->skip($offset)->take($limit)->get();
$collection = new Collection($result->items);
    $ImageId =$collection->get(2)->media_library_id;
    $image = $this->media->find($ImageId);
    $tags = $image->tags()->get();
    $result->tags = $tags;

您尚未显示初始图像查询或模型,但您可以使用 with() 来快速加载标记。

$images = Image::with('tags')
    ->skip($offset)
    ->take($limit)
    ->get();

然后在您的模板中,您应该能够使用类似的东西

@foreach ($images as $image)
    <img src="{{ $image->src }}" alt="">
    @foreach ($image->tags as $tag)
        {{ $tag->name }}
    @endforeach
@endforeach