Ребят подскажите как работает принцип вывода названия категории. Делал так, неполучилось, возможно неправильную таблицу создал в БД.
public function catalog_page($id)
{
$menus = Menu::all();
$category = Menu::with('children')->find($id);
return view('catalog_page', compact('menus','category'));
}
Menu - это модель, таблица, в которой такие поля - id, title, url, images
//Вьюха
<div class="content__right">
<h1>{{$category->title}}</h1>
</div>
dd($id); - выдает url выбранной категории.
// Роут
Route::get('/catalog/{id}', 'SiteController@catalog_page');
// модель Menu
namespace App;
use Illuminate\Database\Eloquent\Model;
class Menu extends Model
{
protected $table = 'menus';
}
Первые этапы в подавляющем большинстве проектов на Laravel - это создать миграции, определиться со связями моделей и описать их, заполнить БД фейковыми данными (seed), определиться с маршрутами, создать контроллеры и только после этого переходить к выводу в шаблоны.
Нет необходимости создавать роут (маршрут) под вывод меню.
Представим, что у нас есть маршрут к странице категории с выводом информации о ней:
Route::get('/catalog/{id}', 'SiteController@catalog')->where('id', '[0-9]+');
В конструкторе контроллера извлекаем все меню:
protected $menus;
public function __construct()
{
// Теперь коллекция всех менюшек
// будет доступна из любого метода.
$this->menus = Menu::all();
}
public function catalog($id)
{
// Извлекаем текущую категорию из коллекции.
// Из коллекции, не из БД!!!
$category = $this->menus->find($id);
// Распечатаем для наглядности.
dump($category);
// Если категории нет в коллекции, то выдаём 404.
if(is_null($category)) {
abort(404, 'Page not found');
}
return view('catalog', [
'menus' => $this->menus,
'category' => $category
]);
}
Теперь можно вывести текущую категорию и создать меню со всеми категориями в шаблоне:
{{-- catalog.blade.php --}}
<main class="main">
<h1>{{ $category->title }}</h1>
</main>
<aside class="sidebar">
<ul>
@foreach ($menus as $item)
<li>{{ $item->title }}</li>
@endforeach
</ul>
</aside>
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Подскажите, пожалуйста, почему не записываются данные с формы в БД? Вот код js
при создании контроллера в laravel появляется вот такой кусочек кода вверху: