【问题标题】:laravel csv will not importlaravel csv 不会导入
【发布时间】:2018-03-03 06:44:45
【问题描述】:

我有导入功能,可以从我的产品表中的 csv 文件导入数据,我得到了成功的结果,但没有导入到我的数据库中。

    public function import(Request $request) {
          //
          $this->validate($request,[
            'file' => 'required|mimes:csv,txt',
          ]);

          if(($handle = fopen($_FILES['file']['tmp_name'],"r")) !== FALSE) {
            fgetcsv($handle); //remove first row of excel file such as title

                  while(($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
                          $product = new Product;
                          $product->title = $data[0];
                          $product->slug = $data[1];
                          $product->imageOne = $data[2];
                          $product->imageTwo = $data[3];
                          $product->short_description = $data[4];
                          $product->description = $data[5];
                          $product->price = $data[6];
                          $product->meta_description = $data[7];
                          $product->meta_tags = $data[8];
// Other fields...
                          $product->created_at = Carbon::now()->format('Y-m-d H:i:s');
                          $product->updated_at = Carbon::now()->format('Y-m-d H:i:s');
                          $product->save();
                  }
                  fclose($handle);
              }

          Session::flash('success', 'Your products imported successfully.');
          return redirect()->back();
        }

路线

Route::post('import_products', 'ProductController@import')->name('import_products');

表格

<form action="{{route('import_products')}}" method="POST" enctype="multipart/form-data">
              {{csrf_field()}}
              <div class="input-group">
                <input type="file" class="form-control" name="file">
                <div class="input-group-btn">
                  <!-- Buttons -->
                    <button class="btn btn-success" type="submit"><i class="fa fa-upload"></i> Upload</button>
                </div>
              </div>
            </form>

我的表结构

有什么想法吗?

【问题讨论】:

  • 你试过 dd( $data );过了一会儿?
  • 不,我试试....
  • @RezaSh 什么都不会,仍然返回我的会话::flash!
  • 所以 $data 是 false ,尝试评论 fgetcsv($handle);再次上线测试
  • @RezaSh 返回false

标签: php laravel csv import-from-excel


【解决方案1】:

您可能需要考虑安装此库。

http://www.maatwebsite.nl/laravel-excel/docs/import

它非常适合我的几个项目。

Excel::load($request->file('file'), function($reader) {
            $results = $reader->all();

            $results->each(function($row) {
             //code to model here...
});

【讨论】:

  • 似乎如此复杂的包!我以前见过,但不知道如何设置。
  • 我或许能帮到你
  • 安装到你的作曲家 "maatwebsite/excel" : "~2.1.0"
  • 在配置文件夹 Maatwebsite\Excel\ExcelServiceProvider::class 中的 app.php 中将此添加到您的提供程序,
  • 同一文件,将其添加到您的别名中:'Excel' => Maatwebsite\Excel\Facades\Excel::class,
猜你喜欢
  • 2018-07-06
  • 2017-01-27
  • 1970-01-01
  • 1970-01-01
  • 2016-11-28
  • 1970-01-01
  • 2021-10-08
  • 2018-03-20
  • 1970-01-01
相关资源
最近更新 更多