有一个这样的需求:
当商品设置为立即上架时,通过审核就进入上架状态,当设置为保存时,通过审核就进入未上架状态。
所以,需要在保存前根据提交的审核状态和设置的方式得到商品状态再保存,而通过$form->model()->attribute_name只能获取提交后的值,不能更改。
Google之后发现了已经有解决方案:可以修改提交表单时的逻辑吗 #375
在模型中添加如下方法:
public static function boot()
{
parent::boot();
static::saving(function ($model) {
// 从$model取出数据并进行处理
});
}