 Laravel по-русски
Laravel по-русски
      
      
    Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
При выводе товара из бд происходит ошибка
(4/4) ErrorException Undefined variable: menus (View: D:\OSPanel\domains\blog\resources\views\sidebar.blade.php) (View: D:\OSPanel\domains\blog\resources\views\sidebar.blade.php) (View: D:\OSPanel\domains\blog\resources\views\sidebar.blade.php), переменная menus это таблица в бд(меню которое выводится), до того как создал новый контроллер вывода товаров меню выводилось хорошо и без ошибок, подскажите может я как то не так понял суть работы этого фрейма!? Вот код: 
       
  //Роуты//
       Route::get('/', 'SiteController@index');
       Route::get('/', 'MenuController@menu');
       Route::get('/', 'TovarController@tovar');
       Route::get('/contacts', 'SiteController@contacts');
       Route::get('/category/{id}', 'SiteController@category');
       //контроллеры//
       <?php
        namespace App\Http\Controllers;
        use App\Menu;
        use Illuminate\Http\Request;
        class MenuController extends Controller
       {
         public function menu()
       {
        $menus = Menu::all();
        return view('index', compact('menus'));
       }
       }
       <?php
       namespace App\Http\Controllers;
       use App\Tovar;
       use Illuminate\Http\Request;
       class TovarController extends Controller
       {
        public function tovar()
       {
        $tovars = Tovar::all();
        return view('index', compact('tovars'));
       }
       }
       //Модели//
       <?php
       namespace App;
       use Illuminate\Database\Eloquent\Model;
       class Menu extends Model
      {
       protected $table = 'menus';
      }
      <?php
      namespace App;
      use Illuminate\Database\Eloquent\Model;
      class Tovar extends Model
      {
       protected $table = 'tovars';
      }
     // сам сайдбар, в котором переменная не определенна
     <div class="content__left">
        <a href="" class="content__left-title">Каталог товаров</a>
        @foreach ($menus as $menu)
        <ul class="left__menu">
            <li class="left__menu-item"><a href="{{url("public/$menu->url")}}">{{ $menu->title }}</a></li>
        </ul>@endforeach
    </div>Не в сети
На первый взгляд - у тебя шаблон вывода в контроллере указан index, туда и передается переменная, а ищется она, судя по ошибке, в sidebar
Не в сети
Я код контроллеров приложил
Не в сети
Очевидно что вы не правильно понимаете принцип маршрутизации запросов. 
Попробуйте например Route::get('/', 'MenuController@menu'); Route::get('/', 'TovarController@tovar'); поменять местами. Какую ошибку показывает теперь?
Не в сети
Теперь ошибки нет, спасибо! Вы правы, я не до конца понимаю принципы, можете подсказать?
Не в сети
В официальных доках достаточно подробно описан цикл жизни запроса
Не в сети
А есть альтернатива докам? Быть может какой то видеоформат, буду очень благодарен за ссылку...
Не в сети
Без чтения документации вряд ли получится некоторые тонкости уловить. 
Видео, наверное тут https://laracasts.com
В остальном гуглится достаточно просто) А еще, на форуме есть парень у которого есть не плохой канал для начинающих) Попробуй https://www.youtube.com/channel/UC3n8EP … mIA/videos
Не в сети
Страницы 1