加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读