我正在关注有关Laravel的YouTube教程,但是当我更改此行时:
return redirect()->back();
自:
return redirect()->route('dashboard');
在用户控制器中.php我收到此错误:
连接中的查询异常.php第 729 行:SQLSTATE[23000]:完整性 约束冲突:1048 列"电子邮件"不能为空(SQL:插入 成
users
(first_name
、password
、updated_at
、created_at
( 值 (, , y$WNp1qKLTDNktowIC0LRKE.SjCOxm8wZV97BRCLAcPk3wsmGR9mJvG, 2017-07-09 20:09:52, 2017-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'));
可能有效。 我使用相同版本的框架,当我按照我所说的方式使用redirect
代码时,它总是有效的。
我承认,如果你分享你的路线会更容易,但乍一看,这就是我能认识到的不同之处。
我发现问题出在我的路由文件中,我混合了
Route::get('/dashboard', [
'uses' => 'UserController@getDashboard',
'as' => 'dashboard'
跟
Route::post('/signup', [
'uses' => 'UserController@postSignUp',
'as' => 'signup'
感谢每一个身体