Soft delete behavior for Yii2.
The preferred way to install this extension is through composer.
Either run
$ composer require cornernote/yii2-softdelete "*"
or add
"cornernote/yii2-softdelete": "*"
to the require section of your composer.json file.
In your ActiveRecord class:
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')")
],
];
}then you can use explicitly $model->softDelete(), $model->hardDelete()
and $model->unDelete() (for softly deleted models). Each of these methods return
boolean result. Also $model->softDelete() calls indirectly from $model->delete(),
which always returns false.
In your ActiveQuery class:
public function behaviors() {
return [
\cornernote\softdelete\SoftDeleteQueryBehavior::className(),
// or
[
'class' => \cornernote\softdelete\SoftDeleteQueryBehavior::className(),
'attribute' => 'deleted_time',
],
];
}