【发布时间】:2015-08-17 12:11:55
【问题描述】:
我的表单有两个输入字段,例如名称、用户 ID,表格列是 ID(自动增量、名称、用户 ID)。如果我保存记录,id 的自动增量值将保存在 userid 列中。我为此使用了触发器,但这不适合,因为我使用的表超过 10 个,所以我需要为所有表编写触发器。
所以建议我如何在没有写触发器的情况下在 yii2 模型中执行此操作。
【问题讨论】:
标签: yii2 yii2-model
我的表单有两个输入字段,例如名称、用户 ID,表格列是 ID(自动增量、名称、用户 ID)。如果我保存记录,id 的自动增量值将保存在 userid 列中。我为此使用了触发器,但这不适合,因为我使用的表超过 10 个,所以我需要为所有表编写触发器。
所以建议我如何在没有写触发器的情况下在 yii2 模型中执行此操作。
【问题讨论】:
标签: yii2 yii2-model
如果您想要自定义自动增量字段。您可以在模型中覆盖 beforeSave 函数。
/**
* @inheritdoc
*/
public function beforeSave($insert)
{
if (parent::beforeSave($insert)) {
if(!$this->id)
{
$this->id = yourFunctionToCreateAutoincrementValue();
}
return true;
} else {
return false;
}
}
【讨论】: