This repository has been archived by the owner on Feb 13, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
/
readme_ru.txt
87 lines (69 loc) · 2.48 KB
/
readme_ru.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
ETrashBinBehavior
=================
Добавляет возможность удалять модели в корзину и восстанавливать их.
Установка и настройка
---------------------
### Подготовка модели
В модели должен быть выделен атрибут для статуса удаления.
Например: "is_removed"
### Подключить поведение к модели
~~~php
<?php
function behaviors()
{
return array(
'trash'=>array(
'class'=>'ext.yiiext.behaviors.model.trashBin.ETrashBinBehavior',
// Имя столбца где хранится статус удаления (обязательное свойство)
'trashFlagField'=>'is_removed',
// Значение которое устанавливается при удалении в поле $trashFlagField
// По умолчанию 1
'removedFlag'=>1,
// Значение которое устанавливается при восстановлении в поле $trashFlagField
// По умолчанию 0
'restoredFlag'=>0,
),
);
}
~~~
### Минимальные требования
[Yii Framework 1.1.4](http://www.yiiframework.com/)
API
---
### remove()
Удаляем модель в корзину.
~~~php
<?php
$user=User::model()->findByPk(1);
$user->remove();
~~~
### restore()
Восстанавливаем модель из корзины.
~~~php
<?php
// Так как при включенном поведении удаленные модели игнорируются,
// нужно включить поиск удаленных моделей
User::model()->withRemoved();
// или на время поиска выключить поведение
User::model()->disableBehavior('trash');
$user=User::model()->findByPk(1);
// Включаем снова поведение если выключали.
User::model()->enableBehavior('trash');
$user->restore();
~~~
### getIsRemoved()
Проверяем удалена ли модель в корзину.
~~~php
<?php
$user1=User::model()->withRemoved()->findByPk(1);
echo $user1->getIsRemoved() ? 'status=removed' : 'status=normal';
$user2=User::model()->withRemoved()->findByPk(2);
echo $user2->isRemoved ? 'status=removed' : 'status=normal';
}
~~~
### withRemoved()
Включаем поиск удаленных записей только при следующем запросе.
~~~php
<?php
$users=User::model()->withRemoved()->findAll();
~~~