Как правильно использовать rules в Yii2 в поведениях и можно ли там же использовать геттер отношения?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
EVOSandru6
Сообщения: 605
Зарегистрирован: 2014.07.04, 13:33

Как правильно использовать rules в Yii2 в поведениях и можно ли там же использовать геттер отношения?

Сообщение EVOSandru6 »

Добрый день

По поводу певрого вопроса - если да, то правильно так:

Код: Выделить всё

public function rules() {
  return [];
}

или так:

Код: Выделить всё

public function rules() {
  return array_merger($this->owner::rules,[]);
}

По поводу вопроса второго - Можно ли писать геттер отношения прям в поведении?

Код: Выделить всё

public function getRating()
    {
        $className = $this->className;
        return $this->hasMany($className::className(), [$this->attribute => 'id']);
    }
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Как правильно использовать rules в Yii2 в поведениях и можно ли там же использовать геттер отношения?

Сообщение ElisDN »

1. Добавляйте валидаторы к владельцу:

Код: Выделить всё

public function attach($owner) {
    parent::attach($owner);
    $validators = $owner->getValidators();
    $validators[] = Validator::createValidator(...);
}
2. Можно.
EVOSandru6
Сообщения: 605
Зарегистрирован: 2014.07.04, 13:33

Re: Как правильно использовать rules в Yii2 в поведениях и можно ли там же использовать геттер отношения?

Сообщение EVOSandru6 »

ElisDN писал(а): 2017.08.23, 14:12 1. Добавляйте валидаторы к владельцу:

Код: Выделить всё

public function attach($owner) {
    parent::attach($owner);
    $validators = $owner->getValidators();
    $validators[] = Validator::createValidator(...);
}
2. Можно.
Душевно благодарю, Дмитрий!
Ответить