Comparte:
Mostrar total de registros realizados en un import con Laravel-Excel
Hola a todos, quisiera saber como puedo obtener el total de registros realizados en una importación con laravel-excel
Controlador
Controlador
$colaboradores = (new CumpleColaboradorImport($request->cumple_agremiacion_id))->import($request->file('excel-colaboradores'));
Importable
class CumpleColaboradorImport implements ToModel, WithStartRow
{
use Importable;
public $count = 0;
public $agremiacion = null;
public function __construct($agremiacion)
{
$this->agremiacion = $agremiacion;
}
/**
* @param array $row
*
* @return \Illuminate\Database\Eloquent\Model|null
*/
public function model(array $row)
{
if( $row[0] === '' && strlen($row[0]) <= 5 && $this->formatoDocumento($row[1]) >= 1000 ){
return null;
}
$this->count++;
$documento = $this->formatoDocumento($row[1]);
$fecha_nacimiento = $this->getDateFromExcel($row[2]);
$fecha_nacimiento = \Carbon\Carbon::createFromFormat('Y-m-d', $fecha_nacimiento);
return CumpleColaborador::updateOrCreate([
"documento" => $documento,
],[
"agremiacion_id" => $this->agremiacion,
"nombre" => \trim($row[0]),
"fecha_nacimiento" => $fecha_nacimiento->format('Y-m-d'),
"mes_cumple" => $fecha_nacimiento->month,
"dia_cumple" => $fecha_nacimiento->day,
"correo_personal" => \trim($row[3]),
"correo_corporativo" => \trim($row[4]),
]);
}
/**
* @return int
*/
public function startRow() : int {
return 2;
}
}
Eloquent te devuelve una coleccion cuando haces una consulta, por lo que podrias hacer algo asi.