Получить имя пользователя из таблицы Laravel - PullRequest
0 голосов
/ 02 апреля 2020

Я хочу отобразить имя пользователя из таблицы пользователей. Я получаю информацию о статье, например, {{$article->title}}, но я не получаю информацию о пользователях.

Модель статьи

 protected $fillable = ['title','slug','description_short','description','image_path','meta_title', 
 'meta_description','meta_keyword','published', 'created_by', 'modified_by','author_id'];

  public function user(){
    return $this->belongsTo(User::class);
  }

Модель пользователя

protected $fillable = [
   'id', 'name', 'email', 'password', 'role_id'
];

public function articles(){
    return $this->hasMany('App\Article');
}

index.blade. php

@forelse ($articles as $article)
        <tr>   
            @foreach($article as $userss)
                <?php var_dump($userss)  ?>
              <div class="display-commentttt">
                @if (isset($userss->users->name))
                 <?php var_dump($userss->users->name); ?>
                    <div class="user-login">{{ $userss->user->name }}
                    </div>
                @elseif  (isset($userss->users->id))
                 <?php var_dump($userss->users->name); ?>
                    <div class="user-login">{{ $userss->users->id }}
                    </div>
                @endif

            @endforeach

          <td>{{$article->title}}</td>
          <td>{{$article->published}}</td>
@endforelse

В моей статье Контроллер

public function index(){
         return view('admin.articles.index',[
        'articles' => Article::with(['user'])->orderBy('created_at', 'desc')->paginate(10),
    ]);
}

1 Ответ

1 голос
/ 02 апреля 2020

Это легко возможно с помощью Eloquent . В вашей модели Article переименуйте вашу функцию users () в user ();

public function user(){
return $this->belongsTo(User::class);

}

затем go в методе вашего контроллера и получите данные артикула, используя следующий метод

    public function view_articles(){

      //you must have to import Article model at the top
       $articles  = Article::with(['user'])->get();
       dd($articles); //this will show response. 
     return view('view_file')->with(compact('articles'));



    }

//inside your view file
@foreach ($articles as $article)
        <tr>   
            @foreach($article as $userss)

               <td>{{$article->title}}</td>
          <td>{{$article->published}}</td>
             <td>{{$article->user->name}}</td>  

            @endforeach


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