cornernote/yii2-softdelete

为 Yii2 提供软删除行为。

安装数: 12,931

依赖: 0

建议者: 0

安全性: 0

星标: 20

关注者: 2

分支: 5

开放问题: 1

类型:yii2-behavior

1.0.3 2017-09-13 23:12 UTC

This package is auto-updated.

Last update: 2024-09-19 18:17:03 UTC


README

Latest Version Software License Build Status Coverage Status Quality Score Total Downloads

为 Yii2 提供软删除行为。

安装

安装此扩展的首选方式是通过 Composer

运行以下命令之一:

$ composer require cornernote/yii2-softdelete "*"

或者将以下内容添加到您的 composer.json 文件的 require 部分:

"cornernote/yii2-softdelete": "*"

使用方法

在您的 ActiveRecord 类中

public function behaviors() {
    return [
        \cornernote\softdelete\SoftDeleteBehavior::className(),
        // or
        [
            'class' => \cornernote\softdelete\SoftDeleteBehavior::className(),
            'attribute' => 'deleted_time',
            'value' => new \yii\db\Expression('NOW()'), // for sqlite use - new \yii\db\Expression("date('now')")
        ],
    ];
}

然后您可以显式使用 $model->softDelete()$model->hardDelete()$model->unDelete()(对于软删除模型)。这些方法中的每一个都返回布尔结果。此外,$model->softDelete() 还间接从 $model->delete() 调用,它始终返回 false

在您的 ActiveQuery 类中

public function behaviors() {
    return [
        \cornernote\softdelete\SoftDeleteQueryBehavior::className(),
        // or
        [
            'class' => \cornernote\softdelete\SoftDeleteQueryBehavior::className(),
            'attribute' => 'deleted_time',
        ],
    ];
}