首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >str_pad在Mysql字段中不使用Yii2

str_pad在Mysql字段中不使用Yii2
EN

Stack Overflow用户
提问于 2021-02-09 16:12:42
回答 1查看 36关注 0票数 1

我在Yii2控制器中有以下创建操作:

代码语言:javascript
复制
public function actionCreate2()
    {
      $searchModel = new BibliografieSearch();
      $searchModel = new CodiciSearch();
      $dataProvider = $searchModel->search(Yii::$app->request->queryParams);    

        $model = new Elenchi();  
        $model->Modified = date( 'y-m-d' );
        
        
        if ($model->FogliDaO) {
            $model->FogliDaO = str_pad($model->FogliDaO, 8, "0", STR_PAD_LEFT);
        }

        if ($model->load(Yii::$app->request->post()) && $model->save()) {
            
            return $this->redirect(['index', 'sort' => '-IDElenco']);
        }

        return $this->render('create2', [
            'model' => $model,
            'dataProvider' => $dataProvider,
            'searchModel' => $searchModel


        ]);
    }

现在,如果我在字段中写入"28v“(FogliDaO)并保存新记录,Mysql数据库中的结果总是"28v",而不是"0000028v”。我哪里错了?(FogliDaO是VARCHAR)。我需要帮助。非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-09 16:28:22

如果要更改$model的内容,则必须在load()之后和save()函数之前分配填充值。否则,您将覆盖该辅助项。

代码语言:javascript
复制
public function actionCreate2()
{
  $searchModel = new BibliografieSearch();
  $searchModel = new CodiciSearch();
  $dataProvider = $searchModel->search(Yii::$app->request->queryParams);    

    $model = new Elenchi();  
    
    

    if ($model->load(Yii::$app->request->post()) ) {
        $model->Modified = date( 'y-m-d' );
        
        if ($model->FogliDaO) {
            $model->FogliDaO = str_pad($model->FogliDaO, 8, "0", STR_PAD_LEFT);
        }
        $model->save();
        return $this->redirect(['index', 'sort' => '-IDElenco']);
    }

    return $this->render('create2', [
        'model' => $model,
        'dataProvider' => $dataProvider,
        'searchModel' => $searchModel


    ]);
}

$ model ->load()函数将对应的模型数据从$_POST复制到实际(新)模型。因此,如果在load()函数之前分配填充值,则此值将丢失,因为load用$_POST内容覆盖此值

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66122759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档