laravel 8 用venturecraft/revisionable 数据模型的操作记录扩展包操作无效
环境如下:
VentureCraft/revisionable版本 1.38
laravel 版本 Laravel Framework 8.51.0
生成配置文件
php artisan vendor:publish --provider="Venturecraft\Revisionable\RevisionableServiceProvider"
创建revisions表结构
php artisan migrate
在 config/app.php的providers类方法引入类
'providers' => [
Venturecraft\Revisionable\RevisionableServiceProvider::class,
]
在模型中引入RevisionableTrait 扩展
namespace App\Models;
use \Venturecraft\Revisionable\RevisionableTrait;
class User extends \Illuminate\Database\Eloquent\Model {
use RevisionableTrait;
}
编辑操作
User::query()->where('id', $id)->update(['name' => 'xxx']);
编辑应该会在revisions表生成一条记录才对的吧!但是我查看表都没有数据更新。求解
我猜这个扩展是自动注册了模型相关的监听事件来达到目的。你这里是直接通过查询构造器更新的而不是通过模型去更新,导致模型的事件监听器没有执行。