wodrow/yii2wsoftdelete 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

wodrow/yii2wsoftdelete

最新稳定版本:1.0.1

Composer 安装命令:

composer require wodrow/yii2wsoftdelete

包简介

soft delete for yii2 models

README 文档

README

Build Status Latest Stable Version Total Downloads Latest Unstable Version License

Soft delete extension for Yii2 framework.

This extension ensures that soft-deleted has delete native consistent behavior and is IDE-friendly.

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist wodrow/yii2wsoftdelete "^1.0.1"

or add

"wodrow/yii2wsoftdelete": "^1.0.1"

to the require section of your composer.json file.

Usage

Once the extension is installed, simply use it in your code by :

Edit model class:

use wodrow\softdelete\SoftDeleteBehavior;
use wodrow\softdelete\SoftDeleteTrait;

class Model extends \yii\db\ActiveRecord
{
    use SoftDeleteTrait;

    public static function getDeletedAtAttribute()
    {
        return "deleted_at";
    }

    public function behaviors()
    {
        $behaviors = parent::behaviors();
        $behaviors = ArrayHelper::merge($behaviors, []);
        if (static::getDeletedAtAttribute()) {
            $behaviors = ArrayHelper::merge($behaviors, [
                'soft-delete' => [
                    'class' => SoftDeleteBehavior::class,
                    'deletedAtAttribute' => static::getDeletedAtAttribute(),
                ],
            ]);
        }
        return $behaviors;
    }
}

Change database table structures, add deleted_at (int 11 unsigned) field and attached to UNIQUE index.

API

ActiveRecord class (SoftDelete Trait):

find系列方法会返回 wodrow\softdelete\ActiveQuery 对象。

  • softDelete() 使用软删除模式删除数据
  • forceDelete() 使用物理删除模式强制删除数据
  • restore() 恢复被软删除的模型数据
  • isTrashed() 是否被软删除

以下命令分别是 find() / findOne() / findAll() 在不同模式下的对应版本:

所有模型(包括被软删除的):

  • findWithTrashed()
  • findOneWithTrashed($condition)
  • findAllWithTrashed($condition)

只查找被软删除的模型:

  • findOnlyTrashed()
  • findOneOnlyTrashed($condition)
  • findAllOnlyTrashed($condition)

以下的命令均被重写成软删除版本:

  • find()
  • findOne()
  • findAll()
  • delete()

wodrow\softdelete\ActiveQuery

增加了 withTrashed(), withoutTrashed()onlyTrashed() 三个方法, 设置相应的查找模式。

统计信息

  • 总下载量: 25
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 2
  • 依赖项目数: 2
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-11-12

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固