chack1172 / laravel-single-save
通过单次保存执行优化模型保存
1.0.0
2023-07-18 23:36 UTC
Requires
- php: ^7.4|^8.0
- illuminate/database: ^8.0|^9.0|^10.0
README
此包旨在优化您的Laravel应用程序的模型保存过程。通过将代码包装在特定的方法回调中,在回调执行结束时执行单次数据库更新。这优化了应用程序的性能,尤其是在复杂事务或频繁更新模型的场景中。
安装
- 使用composer安装包
composer require chack1172/laravel-single-save
- 将Eloquent特性添加到您的模型中
<?php ... use Chack1172\SingleSave\Eloquent\SingleSave; use Illuminate\Foundation\Auth\User as Authenticatable; class User extends Authenticatable { use SingleSave; }
用法
将所有查询包装在 singleSave 方法中
class User extends Authenticatable { use SingleSave; public function updateName($name) { $this->name = $name; $this->save(); } public function updatePassword($password) { $this->password = $password; $this->save(); } } // ... $user->singleSave(function ($user) { $user->updateName('Marco Rossi'); $user->updatePassword('1234'); });
此代码将在回调结束时运行单个查询,更新数据库中的 name 和 password。
许可
此项目采用MIT许可。请参阅 许可文件 以获取更多信息。