Laravel Неопределенная переменная, когда в таблице не найдено записей - PullRequest
1 голос
/ 09 ноября 2019

MenusController.php

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Menu;

    public function index(){

$menus = Menu::orderBy('created_at' , 'asc')->get();
return view('menus.index')->with('menus' , $menus);
}

views / menus / index.blade.php

 @if(count($menus) > 0) 
 @foreach($menus as $menu)
 <h4>{{$menu->category}}</h4> 
@endforeach 
@else 
 <p>No menu categories</p> 
 @endif

Итак, у меня есть таблицав моей базе данных, называемой «меню», и один из столбцов называется «категория».

Когда у меня есть запись или записи в этой таблице, моя страница индекса загружается нормально, и записи из моей базы данных также отображаютсякак и ожидалось. Но если в моей таблице меню ничего нет, я просто получу ошибку «Неопределенная переменная: меню ...», но я ожидаю, что она просто выдаст «Нет категорий меню».

1 Ответ

1 голос
/ 09 ноября 2019

Попробуйте следующее:

@if(isset($menus) && count($menus)) 
    @foreach($menus as $menu)
    <h4>{{$menu->category}}</h4> 
    @endforeach 
@else 
    <p>No menu categories</p> 
@endif
...