在存储功能中获取会话数据

时间:2018-10-09 14:14:16

标签: php laravel session request

在存储函数中获取Session数据并将其存储到db是否正确?

public function store(){    
  ...
  $idgroup = Session::get('invitation_userid')];
  ...
}

还是需要存储功能始终是请求对象?

public function store(Request $request){    
  ...
  $idgroup = $request('idgroup');
  ...
}

在这两个函数中,当然都是输入数据的验证部分。

3 个答案:

答案 0 :(得分:1)

两种方法都可以,但是您应该根据自己的用例适当使用它们,我更喜欢使用Request数据。主要区别在于,如果您将其存储在Session内,它将在整个应用程序范围内可用;而如果您将其存储在Request内,则仅在方法内部可用

答案 1 :(得分:0)

这完全取决于您的控制器实际命名的上下文,如何使用此数据以及为什么要这样做而不首先使用数据库会话驱动程序。

您可以简单地使用数据库驱动程序进行会话:

https://laravel.com/docs/5.7/session#introduction

如果您严格遵循平稳的路由,这还取决于您的控制器的名称:

https://gist.github.com/alexpchin/09939db6f81d654af06b

要回答第二个问题,您在Request动作中并不总是需要store对象。在大多数情况下,您甚至不会看到Request对象,因为您只是在创建全新的资源。

答案 2 :(得分:0)

全球会议助手 您也可以使用全局会话PHP函数来检索和存储会话中的数据。当使用单个字符串参数调用会话帮助器时,它将返回该会话密钥的值。当使用键/值对数组调用帮助程序时,这些值将存储在会话中:

$value = session('key');