在表中找不到条目时的Laravel未定义变量

时间:2019-11-09 10:50:42

标签: php mysql database laravel undefined

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 个答案:

答案 0 :(得分:1)

尝试以下操作:

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