【发布时间】:2017-01-17 11:24:33
【问题描述】:
我正在尝试输出我的帖子,为此我在特定页面中调用了一个带有 foreach 的函数来加载所有帖子,我的控制器中的函数类似于:
public function getDashboard()
{
$posts = Post::all();
return view('dashboard', ['posts' => $posts]);
}
我的路线是这样的:
Route::get('/dashboard',[
'uses' => 'PostController@getDashboard',
'as' => 'dashboard'
]);
但在我未登录时尝试加载页面时出现错误 错误类似于: 未定义变量:posts(查看:C:\wamp64\www\projectname\resources\views\dashboard.blade.php)
您所说的任何内容都受到高度赞赏。
(我使用 Laravel 5.3.26)
这是我的刀片,但我不认为这是问题所在:
@extends('layouts.master')
@section('content')
@foreach($posts as $post)
<article class="post">
<div class="media w3-border-left w3-border-blue">
<div class="media-left media-top">
</div>
<div class="media-body">
<header><h4 class="media-heading">{{ $post->title }}</h4></header>
<p>{{ $post->body }}</p>
<div class="info">
Posted by {{ $post->user->name }} on {{ $post->created_at }}
</div>
<div class="interaction">
<a href="#" class="like">Like</a> |
<a href="#" class="like">Dislike</a> |
<a href="#" class="like">Edit</a> |
<a href="#" class="like">Delete</a>
</div>
</div>
</div>
<br>
</article>
@endforeach
@endsection
【问题讨论】:
-
检查 $posts 是否为空
-
@VinodVT 不,不是它在我登录时正常工作。
-
你能发布你的刀片文件吗?我认为问题出在那儿
-
将 Route::get 更改为 Route::post。 :)
-
问题解决了吗?
标签: php mysql routes laravel-5.3