在laravel中的“存储”资源控制器之后立即显示视图

时间:2019-02-07 14:07:55

标签: php html laravel url homestead

因此,此刻我的“存储”资源控制器添加到数据库中的表并获取“索引”页面(我的主页)的视图,但是当我刷新此视图时,它复制了添加到数据库中的最后一行。我注意到URI是“ http://127.0.0.1:8000/store”而不是“ http://127.0.0.1:8000/index”,有人可以解释一下发生了什么。我为缺乏技术术语而道歉,我是一名新学徒,并且正在尝试通过自己的努力解决这一问题,但到目前为止,还没有运气。我还注意到,尽管URI略有不同,但我的注销功能执行相同的操作,因为它仍在URI中显示CSRF令牌,但仍在“注销”文件路径中说出它,这是一个示例。 'http://127.0.0.1:8000/logout?_token=bqTl4J3EZyKj7LS5ZvqfRB8k1Qg02IT1j4WlBG51&dir2login='

仅供参考,我已经尝试过返回$ this-> index();

我的注销控制器方法;

  public function logout(){
  Auth::logout();
  return view('index',['posts'=>$this->getTable()]);
}

我的商店控制器方法:

public function store(Request $request){
  //creates new row in database table
  //$clientIp=$request->ip();
  $post = new PostModel();
  //gets email of user currently logged in
  $post->email=Auth::user()->email;
  $post->ip=$request->ip();
  $post->content=$request->content;
  $post->company=$request->company;
  $post->rating=$request->rating;
  //saves to database
  $post->save();
  return view('index',['posts'=>$this->getTable()]);
}

2 个答案:

答案 0 :(得分:0)

您尝试过

  

return redirect('/');

答案 1 :(得分:0)

您要在此处执行的操作是使用户进入索引视图。但是,与其返回不同的视图(并且不必再次定义“帖子”的逻辑),将用户重定向到控制器的index方法要容易得多。您可以有多种选择。我在下面列出了三个:

这是您当前拥有的:

return view('index',['posts'=>$this->getTable()]);\

您可以执行“ 操作”(ControllerName @ FunctionName):

return redirect()->action('PostController@index');

或带有“ 命名路线”的

return redirect()->route('posts.index');

或直接URL

return redirect('/');