【发布时间】:2017-07-27 06:31:23
【问题描述】:
我有这个 CSV(没有行标题)
001001,BENITEZ LI,2052,2059,2016-04-27 09:07:20
001002,CASA PARRO,13937,13945,2016-04-21 09:07:20
001004,NUEVO BANC,701,709,2016-04-23 22:07:20
使用这个脚本:
Excel::filter('chunk')->load(public_path().'/uploads/'.$filename)->chunk(250, function($results) {
foreach ($results as $row) {
$user = Lectura::create([
'partida' => $row->partida,
'nombre' => $row->nombre,
'lectura_ant' => $row->lectura_ant,
'lectura_act' => $row->lectura_act,
'fecha' => $row->fecha,
]);
}
});
我想使用此代码导入我的数据库,我可以正确获取每一行。但是添加了空值。转储变量:
CellCollection {#734 ▼
#title: null
#items: array:5 [▼
"001001" => "001002"
"benitez_li" => "CASA PARRO"
2052 => 13937.0
2059 => 13945.0
"2016_04_27_090720" => "2016-04-21 09:07:20"
]
}
也许应该是(如何定义列名?):
CellCollection {#734 ▼
#title: null
#items: array:5 [▼
"partida" => "001002"
"nombre" => "CASA PARRO"
"lectura_ant"=> 13937.0
"lectura_act"=> 13945.0
"fecha" => "2016-04-21 09:07:20"
]
}
或更好(转换为数组)。如何获取值? $row[1], $row[2]....
CellCollection {#734 ▼
#title: null
#items: array:5 [▼
"0" => "001002"
"1" => "CASA PARRO"
"2"=> 13937.0
"3"=> 13945.0
"4" => "2016-04-21 09:07:20"
]
}
【问题讨论】:
-
您是否在模型中设置了 $fillable 变量?对于批量分配,您必须设置它。
protected $fillable = [ 'partida', 'nombre', 'lectura_ant', 'lectura_act', 'fecha' ]; -
谢谢安迪。是的,都可以填写。我解决了添加两行 $reader->toArray(); $reader->noHeading();
标签: php excel laravel csv import