【发布时间】:2016-08-10 05:16:04
【问题描述】:
我想将 csv 文件导入数据库,其中名称应始终唯一意味着如果发现任何重复的标题,则应避开该行并转到下一行。 如何使用 Laravel Controller 实现?
这是我使用的导入 csv/xl 的控制器:
public function importExcel()
{
if(Input::hasFile('import_file')){
$path = Input::file('import_file')->getRealPath();
$data = Excel::load($path, function($reader) {
})->get();
if(!empty($data) && $data->count()){
foreach ($data as $key => $value) {
$insert[] = ['title' => $value->title, 'description' => $value->description];
}
if(!empty($insert)){
DB::table('items')->insert($insert);
// dd('Insert Record successfully.');
}
}
}
return back();
}
【问题讨论】:
-
为什么要让它变得复杂? Mysql 内置了处理 CSV 的工具 - 在文件中加载数据
-
我不清楚你的答案,请你详细说明一下?
-
阅读 mysql 的 LOAD DATA INFILE。关键是使用正确的工具完成工作
标签: php mysql laravel laravel-5 import-from-excel