Laravel-使用两个都有用户ID

时间:2018-09-12 10:59:59

标签: php laravel

StackOverflow的其他用户情况如何

我要完成的任务是从根本上获取某人的用户名,而该用户的用户名仅可用该人的user_id。

我的项目使用两个不同的表,一个用于文章,另一个用于用户数据。

我目前正在视图中显示所有文章,但我也想显示每个帖子的作者姓名,并且只能访问user_id。

我正在使用的控制器内部的方法:

    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 :(得分:0)

如果您说过文章中有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