未定义的变量:事件

时间:2018-12-25 17:40:54

标签: php laravel laravel-blade

这是我的routes/web.php

Route::get('/', function () {
     $events = App\Event::all();
     return view('events.index')->withEvent($events);
});

这是我的视图文件: index.blade.php

<body>
    <h1>{{ count($events) }} Events</h1>

    @foreach($events as $event)
        <article>
            <h1>{{ $event->name }}</h1>
            <p>{{ $event->description }}</p>
            <p>{{ $event->price }} euros</p>
            <p>Lieu :{{ $event->location }}</p>
        </article>
        <hr>
    @endforeach
</body>

我在运行时遇到此错误:

  

未定义变量:事件(查看:   /home/pangraf/events/resources/views/events/index.blade.php)

2 个答案:

答案 0 :(得分:1)

尝试使用:

return view('events.index', compact('events'));

代替

return view('events.index')->withEvent($events);

答案 1 :(得分:1)

尝试这个

尝试从$events变量中删除 s

$event = App\Event::all();
return view('events.index')->withEvent($event);

第二种方式

$event = App\Event::all();
return view('events.index')->with(['event' => $event]);

第三种方式

$event = App\Event::all();
return view('events.index',compact('event'));