如何将自动增量值设置为yii2模型中表中的另一列

时间:2015-08-17 12:11:55

标签: yii2 yii2-model

我有两个输入字段的表单,如name,userid,表列是id(autoincrement,name,userid)。如果我保存记录,id的自动增量值将保存在userid列中。我已经使用了触发器,但这不合适,因为我使用的是10个以上的表,所以我需要为所有表编写触发器。

所以建议我如何在没有写入触发器的情况下在yii2模型中执行此操作。

1 个答案:

答案 0 :(得分:0)

如果您想要自定义自动增量字段。您可以覆盖模型中的beforeSave功能。

/**
 * @inheritdoc
 */
public function beforeSave($insert)
{
    if (parent::beforeSave($insert)) {
        if(!$this->id)
        {
            $this->id = yourFunctionToCreateAutoincrementValue();
        }
        return true;
    } else {
        return false;
    }
}