后控制器public function index(){ $posts=Post::all(); return view('home')->with('posts', $posts);}网页.phpRoute::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\ViewExceptionUndefined variable: posts (View: C:\xampp\htdocs\lts\resources\views\home.blade.php)$posts未定义在刀片模板中使变量可选。替换{{ $posts }}为{{ $posts ?? '' }}感谢大家的帮助,我可以通过添加来修复它Route::get('/home', 'PostController@index'); 我很想知道为什么这个问题是首先引起的,Route:: resource('posts','PostController');应该处理它。
4 回答
慕村225694
TA贡献1880条经验 获得超4个赞
有两种方法可以做到这一点:
第一:
如果要HomeController用于/home路由,请在 HomeController 中添加以下代码。
家庭控制器:
public function index()
{
$posts=Post::all();
return view('home')->with('posts', $posts);
}
第二个
您已在'PostController' URL中使用了该resource方法,但您已使用. 所以改变你的路线是这样的:web.phpposts/home
在web.php
Route::get('/home', 'PostController@index')->name('home');
Route::resource('posts','PostController');
阿波罗的战车
TA贡献1862条经验 获得超6个赞
在您的控制器中更改
public function index()
{
$posts=Post::all();
return view('home')->with('posts', $posts);
}
改变你的刀片
@foreach($posts as $post)
{{ $post['content'] }}
@endforeach
神不在的星期二
TA贡献1963条经验 获得超6个赞
试试这个,而不是你给的 for 循环
@foreach($posts as $post) {{ $post->content}} @endforeach
摇曳的蔷薇
TA贡献1793条经验 获得超6个赞
尝试更换
return view('home')->with('posts', $posts);
和
return view('home', ['posts' => $posts]);
和
<p>{{$post['content']}}</p>
和
<p>{{ optional($post)->content }}</p>
- 4 回答
- 0 关注
- 89 浏览
添加回答
举报
0/150
提交
取消