Laravel - получение имени пользователя с использованием двух таблиц, в каждой из которых указан идентификатор пользователя - PullRequest
0 голосов
/ 12 сентября 2018

Что случилось с другими пользователями StackOverflow,

То, что я пытаюсь выполнить, - это в основном получить имя пользователя кого-либо, используя только идентификатор пользователя.

В моем проекте используются две разные таблицы: одна для статей, а другая для пользовательских данных.

В настоящее время я отображаю все статьи в виде, но я также хочу отображать имя автора каждого сообщения, имея только доступ к идентификатору пользователя.

Метод внутри моего контроллера, который я использую:

    public function index() {
    $posts = Index::all();

    return view('index', ['posts' => $posts]);
}

Вид, в котором я хочу отобразить имя пользователя в:

@extends('layouts.app')

@section('content')
    <div class="container mt-5">
        <div class="col-12">
            @if(!Auth::check())
            <ul class="list-group">
                <li class="list-group-item mb-3"><h1 class="h1">Become a member now</h1>
                    <h5 class="h5">Discuss your favourite topics with the internet</h5>
                    <a href="{!! url()->current() !!}/register"><button type="button" class="btn btn-dark">Get started</button></a>
                </li>
            </ul>
            @endif
            @if(count($posts) > 0)
                <ul class="list-group">
                    @foreach ($posts as $post)
                        <li class="list-group-item" style="text-decoration: none;">b/{{ strtolower($post->subbie) }} · Posted by u/Test</li>
                        <a href="{!! url()->current() !!}/s/{{ $post->subbie }}/{{ $post->id }}">
                            <li class="list-group-item mb-3" style="text-decoration: none;"><h5 class="h5">Tekst: {{ $post->body }}</h5></li>
                        </a>
                    @endforeach
                </ul>
            @else
                <h1>Helaas zijn er nog geen artikels beschikbaar</h1>
            @endif
        </div>
    </div>
@endsection

1 Ответ

0 голосов
/ 12 сентября 2018

Если, как вы сказали, у вас есть user_id в статьях, вы можете добавить отношение к модели статьи

class your_article_model extends Model
{

    public function user()
    {
       return $this->belongsTo('App\User', 'user_id', 'id');
    }
}

и получите всех пользователей со статьями, добавив with()

$posts = Index::with('user')->get();

Вы можете найти подробности в документации Laravel:

https://laravel.com/docs/5.7/eloquent-relationships#one-to-one

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