往数据库填充假数据时,不会触发模型观察器吗?
在填充时用的是 Eloquent 的 insert(),这样为什么不会触发观察器 TopicObserver?
Topic::insert($topics->toArray());
按照文档的说法,当模型第一次被保存时, creating 和 created 事件会被触发,saving / saved 事件也会被触发。
why?是因为触发器会忽略 seeder 文件吗?还是其他原因?
关于 LearnKu
批量填充不触发观察器,文档上有写的
@DianWang
文档里写的很模糊,这里的更新是指数据变动(增删改),还是单纯的 update 操作?
在
tinker里,而在
TopicsTableSeeder里,与上面的情况相同,->create()都可以触发,->insert()都不能触发还是一脸懵逼。。
@Summer
@hehorange saved和updated事件,单个的时候会触发,批量的时候不触发
@DianWang 我这里不对啊,用 insert 单个也不会触发,用 create 多个也能触发。
我猜,应该是这两个方法的问题,去看源码了。。
@hehorange 一个是db的操作,一个是Eloquent的东西。Eloquent方法有事件监听,db的操作没有相关的方法。这个看源码就知道了