php – 如何在Laravel中创建新用户?
发布时间:2020-12-14 19:34:42 所属栏目:大数据 来源:网络整理
导读:我创建了模型: ?phpuse IlluminateAuthUserInterface;use IlluminateAuthRemindersRemindableInterface;class ClientModel extends Eloquent implements UserInterface,RemindableInterface { protected $connection = 'local_db'; protected $table =
我创建了模型:
<?php use IlluminateAuthUserInterface; use IlluminateAuthRemindersRemindableInterface; class ClientModel extends Eloquent implements UserInterface,RemindableInterface { protected $connection = 'local_db'; protected $table = 'administrators'; protected $fillable = ['user_id']; public function getAuthIdentifier() { return $this->username; } public function getAuthPassword() { return $this->password; } public function getRememberToken() { return $this->remember_token; } public function setRememberToken($value) { $this->remember_token = $value; } public function getRememberTokenName() { return 'remember_token'; } public function getReminderEmail() { return $this->email; } } 当我尝试使用它时: ClientModel::create(array( 'username' => 'first_user','password' => Hash::make('123456'),'email' => 'my@email.com' )); 它在DB中创建空条目… 解决方法
您正在使用创建方法(质量分配),因此它不起作用,因为您有:
// Only user_id is allowed to insert by create method protected $fillable = ['user_id']; 把它放在你的模型而不是$fillable中: // Allow any field to be inserted protected $guarded = []; 您也可以使用替代方案: protected $fillable = ['username','password','email']; 在Laravel网站上阅读有关Mass Assignment的更多信息.虽然这可以解决问题,但要注意它.您可以使用此方法: $user = new User; $user->username = 'jhondoe'; // Set other fields ... $user->save(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |