您好,有人能告诉我这个laravel的foreach循环有什么问题吗?:如果我在不使用会话的情况下更改foreach循环,请继续获取以下错误或未定义的POST变量:
Invalid argument supplied for foreach()
@foreach(session('posts') as $post)
@endforeach
控制器:
public function getDashboard(){
$posts = Post::all();
return redirect()->route('dashboard')->with(compact('posts'));
}
或者,如果我使用其他版本,我会在视图仪表板中获得未定义的$POST:
控制器:
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'
]);
在控制器
中进行以下更改,它应该工作正常。
控制器:
public function getDashboard(){
$posts = Post::all()->get();
return redirect()->route('dashboard')->with('posts', $posts);
}
仪表板视图:
@foreach($posts as $post)
@endforeach
路线:
Route::get('/dashboard', [
'uses' => 'UserController@getDashboard',
'as' => 'dashboard',
'middleware' => 'auth'
]);
您正在重定向到仪表板路线。使用with()
提供的任何参数都不会自动包含在视图中。
相反,在返回视图的代码中获取POST。例子:
$posts = Post::all();
return view('dashboard', compact('posts'));
您当前使用的方法会闪烁到会话,实际上根本不需要。
我看到你已经更新了你的问题。要正确回答,我们需要仪表板视图的代码。
从Laravel的foreach循环获取错误消息: 我的foreach循环是: 我的控制器是:
堆栈跟踪:异常'Symfony\Component\Debug\Exc0019\FatalErrorExc0019'与消息'语法错误,意外'}"在D:\xampp\htdocs\guestlara\app\控制器\LoginController.php:23
我在寻找一个特定点周围的距离。 我在我的数据库中有这些项目,带有lat和long。 我想得到指定半径范围内的所有结果。 我就是这样得到的: 现在它给了我一个错误: SQLSTATE[42000]:语法错误或访问冲突:1064您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解第4行(SQL:select*,(6371*acos(cos(radians(51,3))*cos(radia
我有一个视图,我想显示数据库中的记录 ID 但他告诉我这个错误: 6361DDA302A0F162671EE5B36A4BE93第26行中的FatalErrorException:语法错误,意外的“endif”(T_endif) 欢迎刀身php: CreatesController:
问题内容: 我想在同一查询中使用WhereIn和Groupby来获取结果。 我已经试过了: 但是我得到了这个错误信息: SQLSTATE [42000]:语法错误或访问冲突:1055’sbrtpt.loading.id’不在GROUP BY中(SQL:从中选择从(14,15,16)组中的id按Vehicle_no进行加载) 问题答案: 简短答案 在-> 数组中 设置为全部禁用。 .... 要么 您
我有一些问题Laravel迁移。我的文章和标签之间有多对多的关系。'article_tag'迁移: 标签迁移: “第条移徙: 我的控制台日志: illumb\Database\QueryException:SQLSTATE[HY000]:一般错误:1 near“)”:语法错误(SQL:创建表“article_-tag”(“article_-id”integer不为null,“tag_-id”int