【发布时间】:2020-05-21 22:27:27
【问题描述】:
我尝试将 csv 文件导入数据库 我正在使用这个库Laravel Excel 但我有错误 当我尝试使用 dd 函数时,我看到只读取 csv 文件中的一行,这是标题行 在这行之后,我只看到 null 看起来是这样的
array:4 [
0 => "OS_RAH;N_MARK;ZAV_NOMER;DIAM;N_MISC;DATA_VST;DATA_POV;DATA_NAST_POV;KIL_MISIAC;POP_POK;OST_POK;TIP;KON_POK;DATA_KON_POK;DATA_N_PLOMB;N_PLOMB"
1 => null
2 => null
3 => null
]
如果有人知道如何解决这个问题,我将非常感激
这是我导入文件中的代码
use Importable;
public function model(array $row)
{
HeadingRowFormatter::default('none');
return new ImportPassportCounter([
'OS_RAH' => $row[0],
'N_MARK' => $row[1],
'ZAV_NOMER' => $row[2],
'DIAM' => $row[3],
'N_MISC' => $row[4],
'DATA_VST' => $row[5],
'DATA_POV' => $row[6],
'DATA_NAST_POV' => $row[7],
'KIL_MISIAC' => $row[8],
'POP_POK' => $row[9],
'OST_POK' => $row[10],
'TIP' => $row[11],
'KON_POK' => $row[12],
'DATA_KON_POK' => $row[13],
'DATA_N_PLOMB' => $row[14],
'N_PLOMB' => $row[15],
]);
}
public function chunkSize(): int
{
return 1000;
}
这是我的模型文件中的代码
class ImportPassportCounter extends Model
{
use Notifiable;
protected $table = 'import_passport_counters';
protected $fillable = [
'OS_RAH',
'N_MARK',
'ZAV_NOMER',
'DIAM',
'N_MISK',
'DATA_VST',
'DATA_POV',
'DATA_NAST_POV',
'KIL_MISIAC',
'POP_POK',
'OST_POK',
'TIP',
'KON_POK',
'DATA_KON_POK',
'DATA_N_PLOMB',
'N_PLOMB',
];
}
这是我的迁移文件
Schema::create('import_passport_counters', function (Blueprint $table) {
$table->id();
$table->text('OS_RAH')->nullable();
$table->text('N_MARK')->nullable();
$table->text('ZAV_NOMER')->nullable();
$table->text('DIAM')->nullable();
$table->text('N_MISK')->nullable();
$table->text('DATA_VST')->nullable();
$table->text('DATA_POV')->nullable();
$table->text('DATA_NAST_POV')->nullable();
$table->text('KIL_MISIAC')->nullable();
$table->text('POP_POK')->nullable();
$table->text('OST_POK')->nullable();
$table->text('TIP')->nullable();
$table->text('KON_POK')->nullable();
$table->text('DATA_KON_POK')->nullable();
$table->text('DATA_N_PLOMB')->nullable();
$table->text('N_PLOMB')->nullable();
$table->timestamps();
});
这是我在控制器中的代码
$import = Excel::import(new PassportCounterImport, $request->file('file'));
if ($import)
{
$result['success'] = true;
$result['message'] = 'Success';
return response()->json($result, 200);
}
【问题讨论】:
-
你能给我们看看CSV文件吗?
-
yes w8 几秒钟
标签: php laravel laravel-5 eloquent