Кажется ты хотел создать а-ля "посты в закладке" для пользователя?
Для этого создай третью таблицу. В итоге у тебя три таблицы.
users: id name login email ... posts: id title body slug author_idusers_posts: user_id post_id // посты в закладках
RouteServiceProvider.php
public function boot()
{
parent::boot();
Route::model('user', App\User::class);
Route::model('post', App\Post::class);
}
web.php
Route::get('profile/{user}', 'UserController@show')
Route::get('posts/{post}', 'PostController@show')
User.php
public function getRouteKeyName()
{
return 'login';
}
public function posts_feed()
{
return $this->belongsToMany('App\Post');
}
public function posts()
{
return $this->hasMany('App\Post', 'author_id');
}
Post.php
public function getRouteKeyName()
{
return 'slug';
}
public function author()
{
return $this->belongsTo('App\User');
}
class ProfileController extends Controller
{
public function show(User $user)
{
$user->load('posts_feed.author')
return view('profile', compact('user'))
}
}
В show.blade.php
{{ $user->name }}
@foreach(user->posts_feed as $post)
{{ $post->title }}
{{ $post->author->name }}
@endforeach