Commit de8013e1 authored by cornernote's avatar cornernote

move scopes to QueryBehavior

parent da8679dc
...@@ -25,7 +25,6 @@ use yii\db\Expression; ...@@ -25,7 +25,6 @@ use yii\db\Expression;
* @property BaseActiveRecord $owner * @property BaseActiveRecord $owner
* *
* @author cornernote <cornernote@gmail.com> * @author cornernote <cornernote@gmail.com>
* @author amnah <amnah.dev@gmail.com>
*/ */
class SoftDeleteBehavior extends Behavior class SoftDeleteBehavior extends Behavior
{ {
...@@ -113,4 +112,18 @@ class SoftDeleteBehavior extends Behavior ...@@ -113,4 +112,18 @@ class SoftDeleteBehavior extends Behavior
} }
} }
public function deleteds()
{
$model = new $this->owner->modelClass();
$this->owner->andWhere($this->attribute . ' IS NULL');
return $this->owner;
}
public function undeleteds()
{
$model = new $this->owner->modelClass();
$this->owner->andWhere($this->attribute . ' IS NOT NULL');
return $this->owner;
}
} }
\ No newline at end of file
<?php
namespace cornernote\behaviors;
use yii\base\Behavior;
use yii\db\ActiveQuery;
/**
* SoftDeleteQueryBehavior
*
* @usage:
* ```
* public function behaviors() {
* return [
* 'softDelete' => ['class' => 'cornernote\behaviors\SoftDeleteBehavior',
* 'attribute' => 'delete_time',
* 'value' => new Expression('NOW()'),
* ],
* ];
* }
* ```
*
* @property ActiveQuery $owner
*
* @author cornernote <cornernote@gmail.com>
*/
class SoftDeleteQueryBehavior extends Behavior
{
/**
* @var string SoftDelete attribute
*/
public $attribute = 'deleted_at';
public function deleteds()
{
return $this->owner->andWhere($this->attribute . ' IS NULL');
}
public function undeleteds()
{
return $this->owner->andWhere($this->attribute . ' IS NOT NULL');
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment