簡體   English   中英

在存儲功能中獲取會話數據

[英]Get Session data in store function

在存儲函數中獲取Session數據並將其存儲到db是否正確?

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

還是需要存儲功能始終是請求對象?

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

在這兩種功能中,當然都是輸入數據的驗證部分。

兩種方法都很好,但是您應該根據自己的用例適當使用它們,我更喜歡使用Request數據。 主要區別在於,如果將其存儲在Session ,它將在整個應用程序范圍內可用;而如果您將其發送到Request ,則僅在方法內部可用。

這完全取決於您的控制器實際命名的上下文,此數據的使用方式以及為什么要這樣做而不首先使用數據庫會話驅動程序的原因。

您可以簡單地使用數據庫驅動程序進行會話:

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

如果嚴格要遵循靜態路由,這還取決於控制器的名稱:

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

要回答第二個問題,您在store操作中並不總是需要一個Request對象。 在大多數情況下,您甚至都不會看到Request對象,因為您只是在創建全新的資源。

全局會話幫助器您還可以使用全局會話PHP函數來檢索和存儲會話中的數據。 當使用單個字符串參數調用會話幫助器時,它將返回該會話密鑰的值。 當使用鍵/值對數組調用幫助程序時,這些值將存儲在會話中:

$value = session('key');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM