Al intentar importar un XLS, aparece el siguiente error
Unable to resolve NULL driver for [Maatwebsite\Excel\Transactions\TransactionManager].
El código a importar es:
Excel::import(new ProdutosImport, $file)
Y la importación real es
<?php
namespace App\Imports;
use App\Produto;
use Maatwebsite\Excel\Concerns\OnEachRow;
use Maatwebsite\Excel\Concerns\WithHeadingRow;
class ProdutosImport implements OnEachRow, WithHeadingRow
{
/**
* <strong i="27">@param</strong> array $row
*
* <strong i="28">@return</strong> \Illuminate\Database\Eloquent\Model|null
*/
public function onRow($row)
{
$row = $row->toArray();
if ($row['nmero_do_pedido'] !== null && $row['sku'] !== null) {
$produto = Produto::firstOrNew(['id_venda' => $row['nmero_do_pedido'], 'sku' => $row['sku'], 'sequeencia' => null]);
$produto->id_venda = $row['nmero_do_pedido'];
$produto->sequeencia = null;
$produto->sku = $row['sku'];
$produto->data_pagamento = $row['data_de_pagamento'];
$produto->estado_pagamento = $row['status_do_pagamento'];
$produto->titulo_produto = $row['nome_do_produto'];
$produto->sub_total = $row['valor_do_produto'];
$produto->descuento_compra = 0;
$produto->total_venda = $row['valor_do_produto'];
$produto->save();
}
}
}
Comportamiento esperado:
Importa el archivo.
Comportamiento real:
Errores fuera con
Unable to resolve NULL driver for [Maatwebsite\Excel\Transactions\TransactionManager].
Aunque no estoy usando Mongo, intenté deshabilitar las transacciones como se sugiere en # 1998, pero no cambió nada.
¿Ha probado mi respuesta en https://github.com/Maatwebsite/Laravel-Excel/issues/1998#issuecomment -508995478? Parece que estás usando un valor de configuración incorrecto.
¿Has probado mi respuesta en # 1998 (comentario) ? Parece que estás usando un valor de configuración incorrecto.
Probé ambos. También probé las configuraciones predeterminadas.
¿No deberían funcionar las configuraciones predeterminadas, ya que estoy usando MySQL, de todos modos?
Por cierto, @patrickbrouwers , recibo exactamente el mismo mensaje 'No se puede resolver el controlador NULL' si tengo 'db' o 'null' como valor para 'handler'
Ok, hice una investigación y no es un error.
La caché de Laravel estaba en camino del paquete leyendo la nueva configuración de proveedor publicada.
Una simple configuración artesanal de php hizo.
Enfrenté este problema, mi problema fue que estoy usando la biblioteca sin agregar el archivo de configuración excel.php
.
así que lo rastreé borrando el caché (y funcionó), luego agregué el archivo de configuración y luego guardé en caché mi configuración nuevamente.
Espero que esto ayude.
Comentario más útil
Ok, hice una investigación y no es un error.
La caché de Laravel estaba en camino del paquete leyendo la nueva configuración de proveedor publicada.
Una simple configuración artesanal de php hizo.