ruvents / yii-behaviors
Useful behaviors for ActiveRecord.
Installs: 1 416
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 0
Open Issues: 1
Requires
- php: >=5.4
- jcupitt/vips: ^1.0
Requires (Dev)
- ruvents/yii: 1.1.19
README
Коллекция поведений для Yii 1.x ActiveRecord моделей.
Использование
Добавить в composer.json
зависимость:
"vizh/yii-behaviors": "0.0.6"
Миграции
Создание новой таблицы
$tableSchema = [ 'Id' => 'serial primary key', 'PostId' => 'integer not null', 'UserId' => 'integer not null', 'Name' => 'varchar(1000) not null', 'Body' => 'text not null' ]; $tableSchema = array_merge($tableSchema, DeletableBehavior::getMigrationFields()); $tableSchema = array_merge($tableSchema, UpdatableBehavior::getMigrationFields()); $this->createTable('BlogPost', $tableSchema);
Добавление полей в существующую таблицу
foreach (DeletableBehavior::getMigrationFields() as $column => $type) { $this->addColumn('BlogPost', $column, $type); }
Конфигурация модели
public function behaviors() { return [ ['class' => 'UpdatableBehavior'], ['class' => 'DeletableBehavior'], ['class' => 'AttributableBehavior', 'attribute' => 'Attributes'] ]; }
Для корректной работы AttributableBehavior необходимо завести в модели ActiveRecord публичное свойство, названное аналогично значению параметра 'attribute' настроек поведения. Удобства ради, можно "пробросить" следующие методы в модель:
/* * Методы AttributableBehavior * @method Role byAttribute($attribute, $value) * @method Role byAttributeExists($attribute) * @method Role byAttributeSearch($attribute, $value) */