Как правильнее собрать вид с данными из нескольких моделей?
По мне дак контролер и модель могут быть вообще никак не связанны. Из одного контролера можно вызывать множество моделей и это нормально.
Это что за дичь?return $post ? view('blog.show_post', compact('post')) : abort(404);
Вот так сделай:$post = Post::findOrFail($id);
Если такого поста нет то он автоматом выдаст 404, если есть то всё норм.
По сути вопроса. Просто получать пост с комментами сразу.$post = Post::with('comments')->findOrFail($id);
И на странице во вьюхе выводить комменты{{ $post->comments }}