Доступ к текущему экземпляру модели в поведении Yii2
Возможно ли получить доступ к текущему экземпляру модели в методе поведения активной записи? Я планирую использовать значение атрибута текущего экземпляра, чтобы помочь в настройке возвращаемого значения. Пожалуйста, смотрите пример ниже:
public function behaviors()
{
$behaviors = parent::behaviors();
$behaviors[] = [
'class' => AttributeBehavior::className(),
'attributes' => [
ActiveRecord::EVENT_BEFORE_INSERT => 'line_number',
],
'value' => function ($event) {
$maxLineNum = $this->getQuestion()->max('line_number'); // Is this possible?
return ++$maxLineNum;
},
];
return $behaviors;
}
1 ответ
Решение
Используйте свойство владельца поведения:
$maxLineNum = $this->owner->getQuestion()->max('line_number');