首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Laravel5.8中使用联接查询时返回重复数据

在Laravel5.8中使用联接查询时返回重复数据
EN

Stack Overflow用户
提问于 2019-07-13 19:29:59
回答 1查看 705关注 0票数 2

当我尝试在laravel 5.8中使用内部连接查询时,返回重复数据。

数据库中有2组8种产品。当我想从数据库中打印组名时,它不需要打印2个组名,而是打印要屏幕的产品数量(8个组名)。

我尝试了Laravel ->distinct()和一些不同的方法,但是不起作用。

这是我的控制器代码:

代码语言:javascript
复制
$user_id = Auth::id();
$captions = DB::table('ab_captions')->where('ab_groups.user_id', $user_id)->where('ab_captions.user_id', $user_id)->join('ab_groups', 'ab_captions.group_id', '=', 'ab_groups.id')->distinct()->get();
    if ($captions == !NULL) {
        return view('default.captions', ['captions' => $captions]);
    } else {
        return view('default.captions');
    }

和刀片代码:

代码语言:javascript
复制
@if(!empty($captions)) 
    @foreach($captions as $showcaptions)
        <div class="list-body" style="margin-top: 5px;">
            <a href="{{ url('captions/'.$showcaptions->groupname) }}" class="item-title _500">{{ $showcaptions->groupname }}</a>
        </div>
    @endforeach
@endif

输出如下:

组名-1

组名-2

组名-2

组名-2

组名-2

组名-2

组名-2

组名-2

正如我所说,我有两个组名(组名-1和组名-2)

我知道这是一个简单的问题,但我没有能够解决它,即使我已经做了很多研究。非常感谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-13 19:51:29

您需要使用GROUP BY子句,根据group_idgroup_name对结果进行分组。

代码语言:javascript
复制
$captions = DB::table('ab_captions')->where('ab_groups.user_id', $user_id)->where('ab_captions.user_id', $user_id)->join('ab_groups', 'ab_captions.group_id', '=', 'ab_groups.id')->groupBy('ab_captions.group_id')->get();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57022213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档