Yii:计算模型的自定义字段

Yii:计算模型的自定义字段,yii,Yii,我发现yii2.0的文档和教程有点短 在Yii 2.0模型中,我想添加一个带有计算值的隐藏字段,我们称之为def_id。该模型包含诸如firstname、lastname、email等字段。计算值将是这三个字段的某种组合。(它应该是某种自定义类型的逻辑、唯一的自动增量。) 我的问题:我应该在哪里使用其他给定字段计算def_id,以便Create和Update将def_id写入数据库表?模型中没有隐藏字段,只有字段。若它是计算字段,你们甚至不必在屏幕上显示它,所以在隐藏字段中并没有任何意义 但是,

我发现yii2.0的文档和教程有点短

在Yii 2.0模型中,我想添加一个带有计算值的隐藏字段,我们称之为def_id。该模型包含诸如firstname、lastname、email等字段。计算值将是这三个字段的某种组合。(它应该是某种自定义类型的逻辑、唯一的自动增量。)


我的问题:我应该在哪里使用其他给定字段计算def_id,以便
Create
Update
将def_id写入数据库表?

模型中没有隐藏字段,只有字段。若它是计算字段,你们甚至不必在屏幕上显示它,所以在隐藏字段中并没有任何意义

但是,您可以将其添加到模型的“保存前”功能中

public function beforeSave() 
{
    if ($this->isNewRecord) {
        //calculate what you need            
    } else {
        //recalculate if needed
    }
    return parent::beforeSave();
}