【发布时间】:2019-11-28 19:24:47
【问题描述】:
我有一个查看帖子和添加帖子的页面。
在我的控制器中,我有两种返回同一页面的方法:
public function index () {
return view('posts.index', [
'posts' => Post::all()
]);
}
和
public function store (Request $request) {
$validator = validate($request);
if ($validator->fails()) {
return view('posts.index', [
'message' => $validator->messages(),
'status' => '400'
]);
}
$post = new Post;
$post->title = $request->title;
$post->body = $request->body;
$post->user_id = 1;
$post->save();
return view('posts.index', [
'message' => 'Successfully published post!',
'status' => '200'
]);
}
现在在存储新帖子时,索引视图会丢失 index 方法中的帖子数据。这是否意味着在我的每次更新中,我都应该包含帖子变量?
public function store (Request $request) {
$validator = validate($request);
if ($validator->fails()) {
return view('posts.index', [
'message' => $validator->messages(),
'status' => '400',
'posts' => Post::all()
]);
}
$post = new Post;
$post->title = $request->title;
$post->body = $request->body;
$post->user_id = 1;
$post->save();
return view('posts.index', [
'message' => 'Successfully published post!',
'status' => '200',
'posts' => Post::all()
]);
}
顺便说一句,我是 Laravel 的新手。
【问题讨论】:
-
存储后不返回视图而是
return redirect()->route(NAMEOFYOURINDEXROUTE)。store()方法不需要视图(update()方法相同)。另外:laravel.com/docs/master/… -
啊啊啊好吧。谢谢你!抱歉,我没有看到 Laravel 文档的那部分内容。
标签: laravel