Laravel-excel: [BUG] NULL-Treiber für [Maatwebsite \ Excel \ Transactions \ TransactionManager] kann nicht aufgelöst werden

Erstellt am 2. Okt. 2019  ·  5Kommentare  ·  Quelle: Maatwebsite/Laravel-Excel

Voraussetzungen

  • [X] Überprüft, ob Ihre Laravel Excel-Version weiterhin unterstützt wird: https://docs.laravel-excel.com/3.1/getting-started/support.html#supported -versions
  • [X] Das Problem ist in der Lage, das Verhalten außerhalb Ihres Codes zu reproduzieren. Es ist auf Laravel Excel beschränkt.
  • [X] Überprüft, ob Ihr Problem noch nicht eingereicht wurde.
  • [X] Überprüft, ob keine PR eingereicht wurde, die dieses Problem behebt.
  • [X] Die gesamte Ausgabevorlage wurde ausgefüllt

Versionen

  • PHP-Version: PHP 7.3.9-1 + ubuntu16.04.1 + deb.sury.org + 1 (cli) (erstellt: 2. September 2019 12:54:04) (NTS)
  • Laravel-Version: v6.0.4
  • Paketversion: 3.1.17

Beschreibung

Beim Versuch, ein XLS zu importieren, wird die folgende Fehlermeldung angezeigt

Unable to resolve NULL driver for [Maatwebsite\Excel\Transactions\TransactionManager].

Schritte zum Reproduzieren

Der zu importierende Code lautet:

Excel::import(new ProdutosImport, $file)

Und der eigentliche Import ist

<?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();
        }
    }
}

Erwartetes Verhalten:

Importieren Sie die Datei.

Tatsächliches Verhalten:

Fehler raus mit
Unable to resolve NULL driver for [Maatwebsite\Excel\Transactions\TransactionManager].

zusätzliche Information

Obwohl ich Mongo nicht verwende, habe ich versucht, Transaktionen zu deaktivieren, wie auf # 1998 vorgeschlagen, aber es hat nichts geändert.

bug

Hilfreichster Kommentar

Ok, ich habe Nachforschungen angestellt und es ist kein Fehler.

Der Laravel-Cache war unterwegs, als das Paket die neu veröffentlichte Herstellerkonfiguration las.

Eine einfache PHP Artisan Konfiguration: klar hat es getan.

Alle 5 Kommentare

Haben Sie meine Antwort unter https://github.com/Maatwebsite/Laravel-Excel/issues/1998#issuecomment -508995478 ausprobiert? Klingt so, als würden Sie den falschen Konfigurationswert verwenden.

Haben Sie meine Antwort in # 1998 versucht

Ich habe beides versucht. Habe auch die Standardkonfigurationen ausprobiert.

Sollten die Standardkonfigurationen nicht funktionieren, da ich sowieso MySQL verwende?

Übrigens ,

Ok, ich habe Nachforschungen angestellt und es ist kein Fehler.

Der Laravel-Cache war unterwegs, als das Paket die neu veröffentlichte Herstellerkonfiguration las.

Eine einfache PHP Artisan Konfiguration: klar hat es getan.

Ich hatte dieses Problem. Mein Problem war, dass ich die Bibliothek verwende, ohne die Konfigurationsdatei excel.php hinzuzufügen.

Also habe ich es verfolgt, indem ich den Cache geleert habe (und es hat funktioniert), dann habe ich die Konfigurationsdatei hinzugefügt und meine Konfiguration erneut zwischengespeichert.

Ich hoffe das hilft.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen