【发布时间】:2020-06-25 07:30:08
【问题描述】:
后控制器
public function index()
{
$posts=Post::all();
return view('home')->with('posts', $posts);
}
web.php
Route::get('/', function () {
return view('welcome');
});
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
Route::resource('posts','PostController');
家
@foreach($posts as $post)
<p>{{$post['content']}}</p>
@endforeach
我收到此错误
Facade\Ignition\Exceptions\ViewException
Undefined variable: posts (View: C:\xampp\htdocs\lts\resources\views\home.blade.php)
$posts 未定义
在刀片模板中使变量可选。将{{ $posts }} 替换为{{ $posts ?? '' }}
感谢大家的帮助,我可以通过添加来修复它
Route::get('/home', 'PostController@index');
我很想知道为什么这个问题最初是由Route:: resource('posts','PostController'); 引起的。
【问题讨论】:
-
您确定从
Posts表中获取变量吗? -
所以通过添加这个 Route::get('/home', 'PostController@index');在 Route::resource('posts','PostController');索引功能似乎正在工作。这不应该用 Route::resource('posts','PostController');
-
在哪里你得到这个错误?
PostController@index显示home.blade,HomeController@index也是如此。您的HomeController中是否设置了$posts? -
homecontroller 里面什么都没有
-
@HaseebAhmed 哪个控制器用于检索帖子? PostController 或 HomeController。
标签: php laravel routing laravel-routing