activation_token 为 Null,creating 方法没执行?
按照教程,在User模型里添加了boot方法(复制过来的),里面调用了creating方法,给activation_token赋值,但执行了批量填充数据库操作后,字段activation_token仍然为空啊 !!
public static function boot()
{
parent::boot();
static::creating(function ($user) {
$user->activation_token = str_random(30);
});
}
public function run()
{
$users = factory(User::class)->times(50)->make();
User::insert($users->makevisible(['password', 'remember_token'])->toArray());
$user = user::find(1);
$user->name = 'Jason Li';
$user->email = 'jasonli@seasidecrab.com';
$user->is_admin = true;
$user->save();
}
结贴:
大概知道了,调用insert是不执行creating的,注册一个新的用户是有调用的,activation_token有值。
推荐文章: