Laravel-excel: [BUG] تعذر حل برنامج التشغيل NULL لـ [Maatwebsite \ Excel \ Transactions \ TransactionManager]

تم إنشاؤها على ٢ أكتوبر ٢٠١٩  ·  5تعليقات  ·  مصدر: Maatwebsite/Laravel-Excel

المتطلبات الأساسية

  • [X] تم التحقق مما إذا كان إصدار Laravel Excel الخاص بك لا يزال مدعومًا: https://docs.laravel-excel.com/3.1/getting-started/support.html#supported -versions
  • [X] قادر على إعادة إنتاج السلوك خارج التعليمات البرمجية الخاصة بك ، يتم عزل المشكلة في Laravel Excel.
  • [X] تم التحقق من عدم تقديم مشكلتك بالفعل.
  • [X] تم الفحص إذا لم يتم تقديم العلاقات العامة التي تعمل على حل هذه المشكلة.
  • [X] معبأ في نموذج العدد بأكمله

إصدارات

  • إصدار PHP: PHP 7.3.9-1 + ubuntu16.04.1 + deb.sury.org + 1 (CLI) (بني: 2 سبتمبر 2019 12:54:04) (NTS)
  • إصدار Laravel: v6.0.4
  • إصدار الحزمة: 3.1.17.1

وصف

عند محاولة استيراد XLS ، أحصل على الخطأ التالي

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

خطوات التكاثر

الكود المراد استيراده هو:

Excel::import(new ProdutosImport, $file)

والاستيراد الفعلي هو

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

سلوك متوقع:

قم باستيراد الملف.

السلوك الفعلي:

مع أخطاء
Unable to resolve NULL driver for [Maatwebsite\Excel\Transactions\TransactionManager].

معلومة اضافية

على الرغم من أنني لا أستخدم Mongo ، فقد حاولت تعطيل المعاملات كما هو مقترح في # 1998 ، لكنها لم تغير شيئًا.

bug

التعليق الأكثر فائدة

حسنًا ، لقد أجريت بعض التحقيقات ولم يكن هذا خطأ.

كانت ذاكرة التخزين المؤقت لـ Laravel في طريقها إلى الحزمة التي تقرأ تهيئة البائع الجديدة المنشورة.

تكوين حرفي php بسيط

ال 5 كومينتر

هل جربت إجابتي في https://github.com/Maatwebsite/Laravel-Excel/issues/1998#issuecomment -508995478؟ يبدو أنك تستخدم قيمة تهيئة خاطئة.

هل جربت إجابتي في # 1998 (تعليق) ؟ يبدو أنك تستخدم قيمة تهيئة خاطئة.

حاولت كلاهما. حاول أيضا التكوينات الافتراضية.

ألا يجب أن تعمل التكوينات الافتراضية ، لأنني أستخدم MySQL ، على أي حال؟

راجع للشغل ، patrickbrouwers ، أحصل على نفس الرسالة بالضبط "تعذر حل برنامج التشغيل NULL" سواء كان لدي "db" أو "null" كقيمة لـ "handler"

حسنًا ، لقد أجريت بعض التحقيقات ولم يكن هذا خطأ.

كانت ذاكرة التخزين المؤقت لـ Laravel في طريقها إلى الحزمة التي تقرأ تهيئة البائع الجديدة المنشورة.

تكوين حرفي php بسيط

واجهت هذه المشكلة ، كانت مشكلتي أنني أستخدم المكتبة دون إضافة ملف التكوين excel.php .

لذلك تتبعت ذلك عن طريق مسح ذاكرة التخزين المؤقت (وعملت) ، ثم أضفت ملف التكوين ثم قمت بتخزين التكوين الخاص بي مؤقتًا مرة أخرى.

آمل أن يساعد هذا.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات