Доступ к текущему экземпляру модели в поведении 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');
Другие вопросы по тегам