我需要像CN492B9ХХХХХ这样向数据库添加代码,其中XXXXXX编号以000000开头,每个数据递增1。 这是我的控制器
public function actionCreate()
{
$model=new DeliveyInfo;
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
if(isset($_POST['DeliveyInfo']))
{
$model->attributes=$_POST['DeliveyInfo'];
if($model->save())
$this->redirect(array('view','id'=>$model->id));
}
$this->render('create',array(
'model'=>$model,
));
}
我支持模特
public function beforeSave() {
if ($this->isNewRecord)
$this->code = sprintf('CN492B9%06d', $this->id);
return parent::beforeSave();
}
但是没有身份证号码。我在哪里可以获得新记录?
答案 0 :(得分:2)
不要那样做。在数据库表上有一个简单的AUTO_INCREMENT列,提供递增的数字,然后format it in your front end code,看看你需要它。
$formatted = sprintf('CN492B9%06d', $integer_from_database);