存储存储在会话 laravel 中的值
Posted
技术标签:
【中文标题】存储存储在会话 laravel 中的值【英文标题】:Store value that is stored in session laravel 【发布时间】:2019-05-02 11:37:04 【问题描述】:该网站是一个预订系统,首先客户必须填写预订申请表。单击下一步后,用户将被移动到预订摘要,他们可以在其中看到预订摘要。
我使用session()->put
来存储在预订请求表单中输入的字段。这工作正常
$request->session()->put('firstName', $request->firstName);
$request->session()->put('lastName', $request->lastName);
$request->session()->put('phoneNumber', $request->phoneNumber);
我的问题是,在客户点击预订摘要中的确认后,我无法将预订申请表中输入的值存储在数据库中。只有在客户单击预订摘要中的确认按钮后,预订请求表单中的值才应存储在数据库中。
$client_info = new client;
$client_info->firstName = $request->session()->put('firstName', $request->firstName);
$client_info->lastName = $request->session()->put('lastName', $request->lastName);
$client_info->phoneNumber = $request->session()->put('phoneNumber', $request->phoneNumber);
$client_info->emailAddress = $request->session()->put('emailAddress', $request->emailAddress);
$client_info->save();
我尝试使用它,但我得到 SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'firstName' cannot be null 错误。我认为会话数据被删除了?我是 laravel 新手,如果我对问题的解释令人困惑,我很抱歉。
【问题讨论】:
【参考方案1】:您应该从会话中获取价值,同时将数据存储到数据库中:
$client_info = new client();
$client_info->firstName = $request->session()->get('firstName');
$client_info->lastName = $request->session()->get('lastName');
$client_info->phoneNumber = $request->session()->get('phoneNumber');
$client_info->emailAddress = $request->session()->get('emailAddress');
$client_info->save();
了解有关会话的更多信息:here
当您收到此错误时:
SQLSTATE[23000]:违反完整性约束:1048 列“firstName”不能为空(SQL:插入客户端(firstName、lastName、phoneNumber、emailAddress、updated_at、created_at)值(、、、、、2018-11-30 2018-11-30 10:24:56 10:24:56))
在您的客户端模型中:
protected $fillable=['firstName','lastName','phoneNumber','emailAddress'];
并确保在您的数据库中,客户端表:firstName,lastName,phoneNumber,emailAddress 允许空值
还要检查您是否从 session 中获得价值,这可能会发生您的 session 值未正确存储。
【讨论】:
我得到同样的错误 SQLSTATE[23000]: 完整性约束违规: 1048 列 'firstName' 不能为空 (SQL: 插入clients
(firstName
, lastName
, phoneNumber
, emailAddress
, updated_at
, created_at
) 值 (, , , , 2018-11-30 10:24:56, 2018-11-30 10:24:56))
以上是关于存储存储在会话 laravel 中的值的主要内容,如果未能解决你的问题,请参考以下文章