Я думаю, вы можете изменить эти две строки своего кода на
$posts = Post::orderBy('id', 'desc')->where('user_id', $id)->where('status', '4')->paginate(10);
return view('front.user')->with('user', $user)->with('posts', $posts)->with('favs', $favs);
до
$posts = Post::where('user_id', $id)->where('status', '4')->latest()->paginate(10);
return view('front.user', compact('user', 'posts', 'favs'));
А для получения любимых постов пользователя,
если вы измените таблицу fav, чтобы она стала сводной, чтобы обрабатывать только многие и многие отношения между почтой и пользователем, вы можете получить ее как $user->posts
, для отдельной модели, я думаю, вы можете рассмотреть что-то вроде $user->favs
и в поле зрения
В модели Fav
public function user() {
return $this->belongsTo('App\User');
}
public function post() {
return $this->belongsTo('App\Post');
}
и в поле зрения
@foreach ( $user->favs as $fav )
{{ $fav->post->id }}
@endforeach