数据填充里的 User::insert 是无法触发 User 的 creating 的事件的吗?
数据填充里的 User::insert 是无法触发 User的creating 的事件的吗?我看填充过后的 activationToken 是null
关于 LearnKu
高认可度评论:
因为 Laravel 的 ORM 原生支持 DB(查询构造器),所以 DB 的全部方法都可以在 ORM 对象上使用,但是事件监听只有 ORM 的方法才能被监听,所以
insert方法不会触发creating事件,insert是 DB 的方法。insert只是数据库层面的操作啊,但是create是模型层面,所以insert不会触发事件应该是正常的,如果需要监听instert,你需要监听查询事件,文档:快速入门《Laravel 5.6 中文文档》因为 Laravel 的 ORM 原生支持 DB(查询构造器),所以 DB 的全部方法都可以在 ORM 对象上使用,但是事件监听只有 ORM 的方法才能被监听,所以
insert方法不会触发creating事件,insert是 DB 的方法。终于明白为什么教程中要用
User::insert而不是factory(User::class, 100)->create()了@LiCxi 厉害