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);
}

视图/菜单/index.blade.php
 @if(count($menus) > 0)
 @foreach($menus as $menu)
 <h4>{{$menu->category}}</h4>
@endforeach
@else
 <p>No menu categories</p>
 @endif

所以我在数据库中有一个名为“menus”的表,其中一列名为“category”。
当我在该表中有一个或多个条目时,索引页将正常加载,数据库中的条目也将按预期显示。但如果我的菜单表上没有任何内容,我只会得到一个“未定义的变量:菜单…”错误,但我希望它只会显示“没有菜单类别”。

最佳答案

请尝试以下操作:

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

10-02 09:50