Tuesday, March 7, 2017

Laravel Excel import CSV load data

i have this CSV(without row headers)

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

Using this script:

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,                                       
                        ]);
                    }
                });

I want import to my DB using this code, i can get correctly each line. But added null values. Dumping variable:

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"
  ]
}

Perhaps should be (how can define column names?):

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"
  ]
}

or better (convert to array). How can get values? $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"
  ]
}



via Alejandro Beltran

Advertisement