Laravel-excel: [BUG] Tidak dapat menyelesaikan driver NULL untuk [Maatwebsite \ Excel \ Transactions \ TransactionManager]

Dibuat pada 2 Okt 2019  ·  5Komentar  ·  Sumber: Maatwebsite/Laravel-Excel

Prasyarat

  • [X] Memeriksa apakah versi Laravel Excel Anda masih didukung: https://docs.laravel-excel.com/3.1/getting-started/support.html#supported -versions
  • [X] Mampu mereproduksi perilaku di luar kode Anda, masalahnya diisolasi ke Laravel Excel.
  • [X] Memeriksa bahwa masalah Anda belum diajukan.
  • [X] Memeriksa apakah tidak ada PR yang dikirimkan yang memperbaiki masalah ini.
  • [X] Berisi di seluruh template masalah

Versi

  • Versi PHP: PHP 7.3.9-1 + ubuntu16.04.1 + deb.sury.org + 1 (cli) (dibangun: Sep 2 2019 12:54:04) (NTS)
  • Versi Laravel: v6.0.4
  • Versi paket: 3.1.17

Deskripsi

Saat mencoba mengimpor XLS, saya mendapatkan kesalahan berikut

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

Langkah-langkah untuk Mereproduksi

Kode yang akan diimpor adalah:

Excel::import(new ProdutosImport, $file)

Dan impor sebenarnya adalah

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

Perilaku yang diharapkan:

Impor file.

Perilaku sebenarnya:

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

informasi tambahan

Meskipun saya tidak menggunakan Mongo, saya mencoba menonaktifkan transaksi seperti yang disarankan di # 1998, tetapi tidak ada yang berubah.

bug

Komentar yang paling membantu

Oke, saya melakukan investigasi dan itu bukan bug.

Cache Laravel sedang dalam perjalanan paket membaca konfigurasi vendor yang baru diterbitkan.

Konfigurasi pengrajin php sederhana

Semua 5 komentar

Sudahkah Anda mencoba jawaban saya di https://github.com/Maatwebsite/Laravel-Excel/issues/1998#issuecomment -508995478? Sepertinya Anda menggunakan nilai konfigurasi yang salah.

Sudahkah Anda mencoba jawaban saya di # 1998 (komentar) ? Sepertinya Anda menggunakan nilai konfigurasi yang salah.

Saya mencoba keduanya. Juga mencoba konfigurasi default.

Bukankah konfigurasi default harus berfungsi, karena saya menggunakan MySQL?

BTW, @patrickbrouwers , saya mendapatkan pesan yang sama persis 'Tidak dapat menyelesaikan driver NULL' apakah saya memiliki 'db' atau 'null' sebagai nilai untuk 'handler'

Oke, saya melakukan investigasi dan itu bukan bug.

Cache Laravel sedang dalam perjalanan paket membaca konfigurasi vendor yang baru diterbitkan.

Konfigurasi pengrajin php sederhana

Saya menghadapi masalah ini, masalah saya adalah saya menggunakan perpustakaan tanpa menambahkan file konfigurasi excel.php .

jadi saya menelusurinya dengan membersihkan cache (dan berhasil), lalu saya menambahkan file konfigurasi lalu cache konfigurasi saya lagi.

Saya harap ini membantu.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat