Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.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 5.2.45_Php_Mysql_Laravel - Fatal编程技术网

Php 完整性约束违反错误消息与Laravel 5.2.45

Php 完整性约束违反错误消息与Laravel 5.2.45,php,mysql,laravel,Php,Mysql,Laravel,我正在关注一个关于拉威尔的问题,但当我改变这一行时: return redirect()->back(); 致: 在UserController.php中,我遇到以下错误: Connection.php行729中的QueryException:SQLSTATE[23000]:完整性 约束冲突:1048列“电子邮件”不能为空(SQL:insert 进入用户(电子邮件,名字,密码,更新地址, 在处创建值(, y$WNp1qKLTDNktowIC0LRKE.SjCOxm8wZV97BRCLAc

我正在关注一个关于拉威尔的问题,但当我改变这一行时:

return redirect()->back();
致:

在UserController.php中,我遇到以下错误:

Connection.php行729中的QueryException:SQLSTATE[23000]:完整性 约束冲突:1048列“电子邮件”不能为空(SQL:insert 进入
用户
电子邮件
名字
密码
更新地址
处创建值(, y$WNp1qKLTDNktowIC0LRKE.SjCOxm8wZV97BRCLAcPk3wsmGR9mJvG,2017-07-09 20:09:522017-07-09 20:09:52)

这就是整个功能:

public function postSignUp(Request $request)
{
    $email = $request['email'];
    $first_name = $request['first_name'];
    $password = bcrypt($request['password']);
    $user = new User();
    $user->email = $email;
    $user->first_name = $first_name;
    $user->password = $password;
    $user->save();
    return redirect()->route('dashboard');
    //return redirect()->back();  }
我尝试了
$email=$request->input('email')但没有任何更改

有谁能给我一个解释和解决办法吗? 哦,这是我的报名表

<form  action="{{ route('signup') }}" method="post">
  <div class="form-group">
    <label for="email">Your E-mail</label>
    <input class="form-control" type="text" name="email" id="email">
  </div>
  <div class="form-group">
    <label for="first_name">Your First name</label>
    <input class="form-control" type="text" name="first_name" id="first_name">
  </div>
  <div class="form-group">
    <label for="password">Your Password</label>
    <input class="form-control" type="password" name="password" id="password">
  </div>
  <button type="submit" class="btn btn-primary" >Submit</button>
  <input type="hidden" name="_token" value="{{ Session::token() }}">
</form>

你的电子邮件
你的名字
你的密码
提交

正如我所说,它与
return redirect()->back()完美配合

您的请求对象上的
email
字段为空,请确保该字段具有某些值,使用
dd($request->email)
dd($request->input('email')打印,而不是执行以下操作:

return redirect()->route('dashboard');
这样做:

return redirect(route('dashboard'));
可能有用。 我使用相同版本的框架,当我按照我所说的方式使用
重定向
代码时,它总是有效的


我承认,如果你分享你的路线会更容易,但乍一看,这就是我认为不同的地方。

我发现问题出在我的路线文件中,我混合了

Route::get('/dashboard', [
'uses' => 'UserController@getDashboard',
'as' => 'dashboard'


谢谢各位

与routes分享您的登录表单。请确认该请求对电子邮件有价值。请尝试
dd($request['email'))
Route::get('/dashboard', [
'uses' => 'UserController@getDashboard',
'as' => 'dashboard'
Route::post('/signup', [
'uses' => 'UserController@postSignUp',
'as' => 'signup'