chack1172/laravel-single-save

通过单次保存执行优化模型保存

1.0.0 2023-07-18 23:36 UTC

This package is auto-updated.

Last update: 2024-09-19 02:10:57 UTC


README

此包旨在优化您的Laravel应用程序的模型保存过程。通过将代码包装在特定的方法回调中,在回调执行结束时执行单次数据库更新。这优化了应用程序的性能,尤其是在复杂事务或频繁更新模型的场景中。

安装

  1. 使用composer安装包
composer require chack1172/laravel-single-save
  1. 将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');
});

此代码将在回调结束时运行单个查询,更新数据库中的 namepassword

许可

此项目采用MIT许可。请参阅 许可文件 以获取更多信息。