我希望在使用generator ==>时生成相同的remember_token
php artisan make:auth
。
以下是我正在创建的新user
。
$user = User::create(['name' => $request->name,'email' => $request->email,'password' => bcrypt($request->password),'phone' => $request->phone,'address' => $request->address]);
但我不知道如何生成remember_token
。
$user = User::create(['...'=>'...','remember_token' => what()]);
我已经在我的数据库中创建了remember_token。
答案 0 :(得分:1)
如果您使用Laravel附带的默认User.php
模型,则可以覆盖方法setRememberToken($token)
:
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
public function setRememberToken($token)
{
// Set the remember token your own way...
$this->remember_token = 'my random token';
}
}
这在EloquentUserProvider
这里调用:
https://github.com/laravel/framework/blob/5.4/src/Illuminate/Auth/EloquentUserProvider.php#L71-L89
/**
* Update the "remember me" token for the given user in storage.
*
* @param \Illuminate\Contracts\Auth\Authenticatable $user
* @param string $token
* @return void
*/
public function updateRememberToken(UserContract $user, $token)
{
$user->setRememberToken($token);
$timestamps = $user->timestamps;
$user->timestamps = false;
$user->save();
$user->timestamps = $timestamps;
}