Получение дублирующихся строк при получении данных в laravel - PullRequest
0 голосов
/ 03 ноября 2018

Я пытаюсь получить данные в 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 голосов
/ 03 ноября 2018

Когда вы объединяете с несколькими таблицами, вы должны использовать Группировать по в вашем запросе. Либо он выдаст вам дубликаты данных вашей соединительной таблицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...