"Undefined variable: post" 在 Laravel 5.7 的全新安装中尝试在 blade 模板中使用 @foreach 时
"Undefined variable: post" when attempting to use @foreach in a blade template on a fresh install of Laravel 5.7
正如标题所说,当我尝试使用 @foreach($posts as $post)
时,出现 $post
未定义的错误。
我猜我可能犯了一些简单的错误或类似的错误,但我一直无法弄清楚问题出在哪里,所以我在这里问一下。
这是 Laravel 5.7 的全新安装。
我的 web.php
看起来像这样。
Route::get('/', function () {
$posts = App\Post::all();
return view('landing', compact('posts'));
});
我在 resources/views
中有一个 landing.blade.php
文件,其中包含使用 @include('partials.posts')
的部分内容。在 resources/views/partials/
中有一个 posts.blade.php
有这个。
$foreach($posts as $post)
{{ $post->title }}
$endforeach
当我在浏览器中导航至 /
时,出现 Undefined variable: post
错误,其中突出显示 <?php echo e($post->title); ?>
,这与 {{ $post->title }}
.[=30= 相关]
如果我把 <?php dd($posts) ?>
放在 @foreach
之前,那么它 returns 一个 collection 和我的虚拟帖子数组,所以看起来我的帖子确实是被传递给视图。
试试这个而不是你给循环的东西
@foreach($posts as $post)
{{ $post->title }}
@endforeach
使用 @foreach & @endforeach
而不是 $foreach & $endforeach
。
因此使用 @
而不是 $
.
正如标题所说,当我尝试使用 @foreach($posts as $post)
时,出现 $post
未定义的错误。
我猜我可能犯了一些简单的错误或类似的错误,但我一直无法弄清楚问题出在哪里,所以我在这里问一下。
这是 Laravel 5.7 的全新安装。
我的 web.php
看起来像这样。
Route::get('/', function () {
$posts = App\Post::all();
return view('landing', compact('posts'));
});
我在 resources/views
中有一个 landing.blade.php
文件,其中包含使用 @include('partials.posts')
的部分内容。在 resources/views/partials/
中有一个 posts.blade.php
有这个。
$foreach($posts as $post)
{{ $post->title }}
$endforeach
当我在浏览器中导航至 /
时,出现 Undefined variable: post
错误,其中突出显示 <?php echo e($post->title); ?>
,这与 {{ $post->title }}
.[=30= 相关]
如果我把 <?php dd($posts) ?>
放在 @foreach
之前,那么它 returns 一个 collection 和我的虚拟帖子数组,所以看起来我的帖子确实是被传递给视图。
试试这个而不是你给循环的东西
@foreach($posts as $post)
{{ $post->title }}
@endforeach
使用 @foreach & @endforeach
而不是 $foreach & $endforeach
。
因此使用 @
而不是 $
.