Я пытаюсь получить данные текущего логина, используя laravel и mysql, но в результате получаю дублирующиеся строки результатов, хранящиеся в базе данных.
У меня есть три стола. таблица users, содержащая id в качестве первичного ключа, таблица образования, содержащая user_id в качестве внешнего ключа, первичный ключ таблицы users, а также поле research_area. Третья таблица - это таблица публикаций, которая также содержит user_id в качестве внешнего ключа. Сейчас я пытаюсь получить все публикации текущего пользователя с названием, годом публикации и областью исследования. Мой код работает, но он дает мне все результаты сохраненных данных в таблицах. Мой код указан здесь.
Код контроллера - PdfController.php
<?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('users.id','publications.*','education.research_area')
->where('users.id',$user_id)
->get();
if(count ($data)>0){
return view('pdf/publicationpdf',$data);
}
else
{
return view('pdf/publicationpdf');
}
}
На мой взгляд это публикация pdf.blade.php, код которой приведен здесь.
@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
и мой маршрут здесь.
Route::get('pdf/publicationpdf','PdfController@publicationpdf');
Я не знаю, как получить все публикации пользователя для входа в систему только один раз в каждой строке, но это дает мне повторяющиеся строки, я имею в виду три копии одной строки, не выдает никакой ошибки, но возвращает дублированные данные пользователя. Пожалуйста помоги. Заранее благодарен
Изображение здесь
![result of above running view](https://i.stack.imgur.com/UWxS8.jpg)
Мои таблицы приведены здесь.
таблица публикаций.
![publications table](https://i.stack.imgur.com/cQF5g.jpg)