通过行为填充 Yii2 模型

Populating Yii2 Model via behavior

我正在尝试为具有行为的 属性 分配一个值,但无论我向 $this->owner->property 传递什么值,模型都会将此数字“127”分配给 属性 并保存。我不知道这个数字是从哪里来的。

namespace common\behaviors;

use yii\db\ActiveRecord;
use yii\base\Behavior;

class MyBehavior extends Behavior
{
    public function events()
    {
        return [
            ActiveRecord::EVENT_BEFORE_INSERT => 'test',
            ActiveRecord::EVENT_BEFORE_UPDATE => 'test',
        ];
    }

    public function test()
    {
        $this->owner->property = 444;
    }
} 

如果我通过前端的 Web 表单填充此 属性,模型会保存正确的值。 我在模型的规则中添加了 property 但这没有任何区别。

真可惜,我在创建 SQL table 时犯了这么愚蠢的错误 :( 我将 tinyint 类型分配给 property 字段,这就是为什么它总是保存 127 - 允许的最大值此类字段的值。