Я предполагаю, что вы хотите создать ссылку для каждой категории, которая ведет на страницу, на которой отображается дополнительная информация о выбранной категории.
Ваш блейд-файл, в котором вы создаете ссылки для всех категорий.мне кажется, что все в порядке, но я бы порекомендовал изменить файл маршрута на следующий:
Route::get('/category/{id}', 'PagesController@showCategory')->name('showCategory');
Тогда для вашей функции showCategory
вам понадобится что-то вроде этого:
public function showCategory($id) {
$category = Categories::find($id);
// i used categories.show here, change it to whatever view you use
return view('categories.show')->with('category', $category);
}
Затем в вашем представлении categories.show
вы можете получить доступ к свойствам категории следующим образом:
$category->id; // or whatever you want to display
Согласно запросу OP: первый5 категорий в базе данных, которые ведут к их страницам:
В вашем контроллере:
public function myFunction()
{
$categories = Categories::all()->take(5)->get();
return view('your.view')->with('categories', $categories);
}
В вашем блэйд-представлении (при условии, что представление для категории находится на: /category/id
):
@foreach($categories as $category)
<a href="/category/{{$category->id}}">{{$category->name}}</a>
@endforeach