Стуктура такая:
/app/services/StatusService.php
Код: Выделить всё
namespace app\services;
class StatusService
{
// базовые операции findById(), updateFromForm() и тд
}
Код: Выделить всё
namespace app\models;
class Status extends \yii\db\ActiveRecord
{
// Модель сгенерированная gii
}
Код: Выделить всё
namespace app\forms;
class StatusForm extends \yii\base\Model
{
public $id;
public $name;
public $alias;
public function __construct($id = null, $config = array())
{
$this->id = $id;
parent::__construct($config);
}
public function rules()
{
return [
[['name', 'alias'], 'required'],
[['name', 'alias'], 'string', 'max' => 32],
// Можно ли тут задействовать сервис?
['alias', 'unique', 'targetClass' => 'app\models\Status', 'filter' => function (Query $query) {
$query->andFilterCompare('id', $this->id, '<>');
}],
];
}
}