我正在尝试使用行为为属性分配值,但无论我传递给$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
添加到模型的规则中,但这没有任何区别。
答案 0 :(得分:1)
对我感到羞耻,我在创建SQL表时犯了这么愚蠢的错误:(我将tinyint类型分配给property
字段,这就是为什么它总是保存127 - 这类字段允许的最大值。