在Laravel中获取数据时获取重复的行

时间:2018-11-03 16:10:47

标签: php mysql laravel

我正在获取重复行时尝试在laravel mysql中获取数据。我的意思是我在数据库中有两行相同的登录用户,而我却得到了6个结果。请帮我。 我的控制器代码在这里

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;
use PDF;
use Auth;

class PdfController extends Controller
{
 public function publicationpdf()
    {
        $user_id = Auth::user()->id;
        $data['data'] = DB::table('users') ->join('publications', 'users.id', '=', 'publications.user_id') ->join('education', 'users.id', '=', 'education.user_id') ->select('publications.*','education.research_area') ->where('users.id',$user_id)
            ->get();
        if(count ($data)>0){
            return view('pdf/publicationpdf',$data);
        }
        else
        {
            return view('pdf/publicationpdf');
        }
    }
}

我的视图代码是我尝试获取数据的地方。

@extends('layouts.app')
@section('content')
<div class="container"><br>


    <h4>Name: {{ Auth::user()->tname }}</h4>



    <div class="text-center">
        <h3>Publications Details</h3>
    </div><br/>
    <table class="table">
        <tr>
            <th>
                Publication Title
            </th>
            <th>Research Area</th>
            <th>Publication Year</th>
        </tr>
        @foreach($data as $value)
        <tr>
            <td>{{$value->title}}</td>

            <td>{{$value->research_area}}</td>

            <td>{{$value->year}}</td>
        </tr>
        @endforeach

    </table>


</div>

@endsection

此处给出了结果数据图片。您可以在此处看到重复的行。 result of view or querry runnig

给出了所有三个表,我想将这两个表加入出版物和教育中 教育桌 education table

这里是刊登表 publication tables

这是用户表给。

users table

1 个答案:

答案 0 :(得分:0)

当您与多个表联接时,您必须在查询中使用 Group By 。这将为您提供联接表的重复数据。