laravel - When I register any user but remember_token() Always Null In Db During Insertion
问题描述
I am trying to register any user but remember_token() Always Null In Db During Insertion ,
It success but remember_token is missing
How to fix it ?
Database
user table
controller
public function registeraction(Request $request)
{
$this->validate($request, [
'name' => 'Required',
'email' => 'Required',
'password' => 'Required',
]);
$user = User::create(request(['name', 'email', 'password']));
$name = $request->input('name');
$email = $request->input('email');
$password = $request->input('password');
if (Auth::attempt(['email' => $email, 'password' => $password])) {
// Authentication passed...
return redirect()->to('/');
}
}
html view
<form action="{{route('register.action')}}" method="post">
{{ csrf_field() }}
<div class="form-group">
<label>Name</label>
<input type="text" name="name" class="form-control" placeholder="Enter Name">
</div>
<div class="form-group">
<label>Email address</label>
<input type="email" name="email" class="form-control " placeholder="Enter email">
</div>
<div class="form-group">
<label>Password</label>
<input type="password" name="password" class="form-control" placeholder="Password">
</div>
<button type="submit" class="btn btn-primary col-12">Register</button>
</form>
Route
Route::get('Register','CheckController@register');
Route::post('Register/action','CheckController@registeraction')->name('register.action');
解决方案
remember_token
注册新用户的时候就可以null
了,因为用户登录时勾选登录页面的“记住我”复选框就会设置。
但如果需要,您可以手动设置:
use Illuminate\Support\Str;
$user->setRememberToken(Str::random(60));
$user->save();
推荐阅读
- python - Gridsearchcv:内部逻辑
- javascript - 如何使用 Javascript 从 API 获取 JSON 数据?
- reactjs - 反应路由器不匹配路由
- scala - 如何使用包装了 Either 的 Future?
- mysql - 如何扫描一个数据库中的新数据并将其发送到另一个数据库?
- python - TypeError:注册表odoo14中不存在模型'project.forecast'
- angular - 复杂的响应式表单验证
- reactjs - TypeError:无法读取未定义的属性“标题” - Gatsby SCSS
- javascript - 在反应中循环对象
- vba - for...next 循环中 myArray 的问题