В контроллере
$id = Auth::id();
//К каждой статье добавляем users_count,
//чтобы узнать какие статьи уже добавлены в избранное авторизованного юзера
// и не делать потом запросы к бд в цикле
$posts = Post::with('users')
->withCount(array('users' => function($query) use ($id) {
$query->where('users.id', $id);
}))->get();
В шаблоне
{{-- если количество больше нуля, значит статья уже добавлена в избранное --}}
@foreach ($posts as $post)
@if ($post->users_count>0)
Уже добавлено в избранное
@else
Добавить в избранное
@endif
@endforeach
Исправить отношение в модели Post
public function users() {
return $this->belongsToMany('App\User', 'posts_user', 'post_id', 'user_id');
}
Добавлять в избранное через attach.
Как это делается