【发布时间】: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