Отношение один к маю, Показать все посты вместе с пользователями - PullRequest
0 голосов
/ 17 октября 2019

// Сообщение таблицы user ()

`belongsTo(User::class);`

// user table posts ()

hasMany(post::class);

// Я хочу получить все сообщения, доступные в БД, Показатьвместе с пользователями, связанными с постом.

Ответы [ 3 ]

1 голос
/ 17 октября 2019

Используйте внешний ключ и первичный ключ в отношениях для получения результатов.

В сообщении

 public function user()
 {
  return $this->belongsTo('App\User','users_id','users_id') //first parameter-foreign key,second parameter-local key
 }

В пользователе

 public function posts()
 {
  return $this->hasMany('App\Post','users_id','users_id')
 }

Теперь получите все сообщения, используя

 $posts = Post::get();
 return view('your-view')->with('posts',$posts);

Вы можете получить информацию о пользователях, используя

 @foreach($posts as $post)  
   $user = $post->user->name;
 @endforeach

Надеюсь, это поможет ..

0 голосов
/ 17 октября 2019

$posts = Post::with('user')->get();
0 голосов
/ 17 октября 2019

Предполагаю, что ваши отношения выглядят так:

Пользователь:

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

Сообщение:

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

Вы можете получить все сообщения в вашем контроллере, например так:

$posts = Post::get();
return view('your view', $posts);

И в своем блейде, чтобы отображать сообщения и их пользователей, сделайте это так:

@foreach($posts as $post)
   $post->user->name
@endforeach
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...