laravel-5 - 如何进行查询以使用 Laravel 5 中的数据透视表和另一个表进行过滤?
问题描述
对不起标题我真的不知道该怎么称呼它。
我正在建立一个带有相册的插图网站。插图可以上传到相册。
在照片表中,我有一个处理过的表。这样我可以检查插图是否已处理,如果是,则可以搜索,如果没有,则用户必须编辑已处理的插图或插图。
我可以选择特定相册中的照片,但我不知道如何使用属于查看相册的处理后的插图进行过滤。
我还有一个单独的表album_photos 表。相册和照片的关系是hasMany 和belongsToMany。
这样,我选择了所有照片,但没有经过处理或未过滤。
$photos = Photo::whereIn('id', $album -> album_photos() -> pluck('photo_id'))->get();
这样我就选择了相应用户的所有处理过的照片。
$photosNotProcessed = Photo::where('user_id', Auth::user() -> id)->whereNull('processed')->get();
现在我想选择查看相册中未处理的照片。有任何想法吗?
提前致谢。
解决方案
我发现你有 3 张桌子照片、相册和一张正在处理电话的桌子!照片和相册有多对多的关系,照片与已处理的表格也有关系,如果您想选择属于相册的已处理照片,因此您可以在照片表格中添加一个位置:
Photo::where('user_id', Auth::user() -> id)->whereNull('processed')->whereIn('id', $album -> album_photos()) -> pluck('photo_id'))->get();;
推荐阅读
- python - 使用 pyinstaller 执行 python 3.7 时出错
- javascript - 在同一行上对齐条件渲染组件 - 材质 UI
- html - shopify主题中的模糊视频缩略图
- c++ - GetTextExtentPoint 导致别名
- angular - ngx-translate 如何将翻译文件引用映射到任何一个模块并在任何其他惰性模块中使用它们而无需多次下载
- ibm-cloud-infrastructure - 如何获取 VLAN 的网络速度
- python - 如何创建带有类别的 Matplotlib 条形图?
- python - Azure 语音 SDK | 蟒蛇 | 实施关键字识别
- c# - .NET Query With list inside 无法翻译
- react-native - 如何在没有反应原生游戏引擎的情况下在反应原生中使用matterJS