gpt4 book ai didi

php - 在 Laravel 中合并查询结果

转载 作者:行者123 更新时间:2023-11-29 06:05:58 25 4
gpt4 key购买 nike

在我的网站上,用户可以上传图片并为这些图片附加标签。

我有一个图像表、一个标签表和一个 images_tag 数据透视表。

图片可以有很多标签,标签可以属于很多图片。

我希望能够生成用户在他/她的图像中使用的所有标签的列表。

$imageIDs = Images::where('created_by', Auth::user()->id)->lists('id');

因此,这将创建一个用户上传的所有图像 ID 的列表。

我想要的本质上是“foreach $imageIDs,检查 images_tag 表,对于每个匹配项,转到标签表并取回标签名值。”

但我不知道该怎么做。

也许 foreach 然后对所有结果使用 merge 方法?任何帮助,将不胜感激!

最佳答案

您需要使用 whereHas()检查关系:

$userTags = Tags::whereHas('images', function($q) {
$q->where('created_by', auth()->user()->id);
})->get();

然后只需将此数据传递给 View :

return view('some.view', compact('userTags'));

并迭代 View 中的标签:

@foreach ($userTags as $tag)
{{ $tag->name }}
@endforeach

关于php - 在 Laravel 中合并查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41657608/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com