public function index()
{
$posts = Post::with('category')->get(['id', 'name', 'category_id']);
return view('manager.posts.index', ['posts' => $posts]);
}
// для получения данных из коллекции $posts - используйте foreach, для получения категории - $posts[0]->category->url ; $posts[0] - риск ошибки, когда posts пустой
Первый вариант самый лучший. Вы используете Implicit Binding. Вы переходите по роуту /my-route/menu/1. Таким образом laravel автоматически ищет Menu::find(1).
Во втором случае вы выполняете два действия.
1. То что выше.
2. Дополнительно ищете Menu::where(relationship)->find(1)
Минусы 2 варианта - вы два раза ищете одно и то же меню, дополнительно во втором разе добавляете условия Relationship, что более медленнее если не указаны индексы