Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 存储存储在会话laravel中的值_Php_Sql_Laravel_Eloquent_Laravel Blade - Fatal编程技术网

Php 存储存储在会话laravel中的值

Php 存储存储在会话laravel中的值,php,sql,laravel,eloquent,laravel-blade,Php,Sql,Laravel,Eloquent,Laravel Blade,该网站是一个预订系统,首先客户必须填写预订申请表。单击“下一步”后,用户将移动到“预订摘要”,在那里他们可以看到预订摘要。 我使用session()->put存储在预订请求表单中输入的字段。这很好用 $request->session()->put('firstName', $request->firstName); $request->session()->put('lastName', $request->lastName); $request->s

该网站是一个预订系统,首先客户必须填写预订申请表。单击“下一步”后,用户将移动到“预订摘要”,在那里他们可以看到预订摘要。 我使用
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]:完整性约束冲突:1048列“firstName”不能为null错误。我想会话数据被删除了?我是laravel的新手,如果我对问题的解释令人困惑,我很抱歉。

您应该从会话中获得价值,同时将数据存储到数据库中:

  $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();
了解有关会话的更多信息:

当您遇到此错误时:

SQLSTATE[23000]:完整性约束冲突:1048列“firstName”不能为空(SQL:插入到客户端(firstName、lastName、phoneNumber、emailAddress、updated_-at、created_-at)值(,,2018-11-30 10:24:562018-11-30 10:24:56))

在您的客户机模型中:

protected  $fillable=['firstName','lastName','phoneNumber','emailAddress'];
并确保在数据库中的客户机表中:firstName、lastName、phoneNumber、emailAddress允许空值

还要检查您是否正在从会话中获取值,您的会话值可能没有正确存储

我得到了相同的错误SQLSTATE[23000]:完整性约束冲突:1048列“firstName”不能为空(SQL:insert-into
clients
firstName
lastName
phoneNumber
emailAddress
updated\u at
)值(, , 2018-11-30 10:24:56, 2018-11-30 10:24:56))