【发布时间】:2017-06-07 04:40:21
【问题描述】:
您好,谁能告诉我我在这个 laravel 的 foreach 循环中做错了什么:/ 如果我在不使用会话的情况下更改 foreach 循环,则继续收到以下错误或未定义的帖子变量:
Invalid argument supplied for foreach()
@foreach(session('posts') as $post)
@endforeach
控制器:
public function getDashboard(){
$posts = Post::all();
return redirect()->route('dashboard')->with(compact('posts'));
}
或者,如果我执行其他版本,我会在视图仪表板中看到未定义的 $posts:
控制器:
public function getDashboard(){
$posts = Post::all();
return view('dashboard', ['posts' => $posts]);
}
仪表板视图:
@foreach($posts as $post)
@endforeach
路线:
Route::get('/dashboard', [
'uses' => 'UserController@getDashboard',
'as' => 'dashboard',
'middleware' => 'auth'
]);
【问题讨论】:
-
似乎会话由于某种原因无法正常工作。请将
{{ dd(session('post')) }}放在foreach(session('posts') ...之前并显示转储。 -
在我们说话的时候做这件事。一秒。
-
当我刷新仪表板页面时,我得到的视图没有样式,只有内容。
-
并显示一个空值。
-
我已更新我的代码以包含路线。