数据库
首页 > 数据库> > php – Yii – 如何上传csv以保存在数据库中?

php – Yii – 如何上传csv以保存在数据库中?

作者:互联网

我有一些麻烦,弄清楚如何读取我上传的CSV文件,可能我在我的控制器代码中遗漏了一些东西.

  public function actionImport() {
    $model = new Produtos;
    $this->render('import', array('model' => $model) );

    if( isset($_FILES['csv_file']) ) {

      $handle = fopen($_FILES['csv_file']['tmp_name'], 'r');

      if ($handle) {
        while( ($line = fgetcsv($handle, 1000, ";")) != FALSE) {
            $model->codigo          = $line[0];
            $model->nome            = $line[1];
            $model->descricao       = $line[2];
            $model->stock           = $line[3];
            $model->data_reposicao  = $line[4];

            $model->save();
        }        
      }
      fclose($handle);
    }

  }

这只是为了节省我在CSV中的最后一行…请一些帮助!

任何帮助将非常感激.

谢谢

解决方法:

不要忘记检查数据是否成功验证.

在您的代码之间插入此代码:

        $model->data_reposicao  = $line[4];

        if (!$model->validate())
            throw new Exception("Validation failed.");

        $model->save();

所以你可以看到出了什么问题.

标签:php,csv,yii,fgetcsv
来源: https://codeday.me/bug/20190530/1185813.html