通过行为填充 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 - 允许的最大值此类字段的值。
我正在尝试为具有行为的 属性 分配一个值,但无论我向 $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 - 允许的最大值此类字段的值。