Saya telah membuat kelas objek impor dan menentukan Masalah ToCollection. Setelah menjalankan Excel :: import, saya menerima pesan kesalahan dalam Actual Behavior
bawah ini.
Jangan gunakan database transaksional. Kami menggunakan MongoDB.
Selain itu, pengimporan Model tidak ditentukan dan paket tidak boleh melakukan persiapan database apa pun, yang harus ditangani melalui acara oleh pengembang.
Perilaku yang diharapkan:
hh dari baris koleksi.
Perilaku sebenarnya:
1) Tests\Unit\Services\Websites\WebsiteCredentialsImportServiceTest::testImportTabDelimited
Error: Call to a member function beginTransaction() on null
/var/www/vhosts/website.local/vendor/laravel/framework/src/Illuminate/Database/Concerns/ManagesTransactions.php:109
/var/www/vhosts/website.local/vendor/laravel/framework/src/Illuminate/Database/Concerns/ManagesTransactions.php:93
/var/www/vhosts/website.local/vendor/laravel/framework/src/Illuminate/Database/Concerns/ManagesTransactions.php:23
/var/www/vhosts/website.local/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php:327
/var/www/vhosts/website.local/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:223
/var/www/vhosts/website.local/vendor/maatwebsite/excel/src/Reader.php:96
/var/www/vhosts/website.local/vendor/maatwebsite/excel/src/Excel.php:120
/var/www/vhosts/website.local/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:223
/var/www/vhosts/website.local/app/Services/Websites/WebsiteCredentialsImportService.php:198
/var/www/vhosts/website.local/app/Services/Websites/WebsiteCredentialsImportService.php:182
/var/www/vhosts/website.local/app/Services/Websites/WebsiteCredentialsImportService.php:122
/var/www/vhosts/website.local/tests/Unit/Services/Websites/WebsiteCredentialsImportServiceTest.php:25
<?php
namespace App\Imports\Websites;
use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\ToCollection;
/**
* Class WebsiteCredentialsImport
*
* <strong i="29">@package</strong> App\Imports\Websites
*/
class WebsiteCredentialsImport implements ToCollection
{
public function collection(Collection $rows)
{
dd(['COLLECTION' => $rows]);
}
}
$collection = Excel::import(
new WebsiteCredentialsImport,
$this->file_name,
null,
$this->reader_type
);
Kami menggunakan transaksi database untuk validasi dan penyisipan batch. Mereka sangat penting bagi pengguna Eloquent / Laravel-DB. Senang menggabungkan PR yang memberikan opsi konfigurasi untuk menonaktifkannya bagi pengguna yang menggunakan .eg Mongo
Versi berikutnya akan memiliki pengaturan untuk menonaktifkan transaksi Laravel-DB + cara untuk menambahkan penangan transaksi khusus
Hai!
Saya berada dalam situasi yang sangat tepat: Saya TIDAK perlu menyimpan data yang telah dibaca, dan saya menggunakan Mongo.
Bisakah Anda menunjukkan kepada saya kode yang menonaktifkan transaksi?
Hai!
Saya berada dalam situasi yang sangat tepat: Saya TIDAK perlu menyimpan data yang telah dibaca, dan saya menggunakan Mongo.
Bisakah Anda menunjukkan kepada saya kode yang menonaktifkan transaksi?
https://github.com/Maatwebsite/Laravel-Excel/commit/13374dab1592f00f715fa0e02541ecb52217655b#diff -19c82312ec0dbaba6a8c595db14fa56f
Bagian dokumentasi yang relevan: https://docs.laravel-excel.com/3.1/imports/validation.html#disable -transactions
Hai, saya berada dalam situasi yang sama: Saya harus membaca file excel dan saya harus menyimpannya di mongodb.
Saya telah membaca perbaikan dan kesalahan yang saya miliki sekarang adalah:
"Tidak dapat menyelesaikan driver NULL untuk [MaatwebsiteExcel \ Transactions \ TransactionManager]."
Apakah Anda tahu bagaimana mengatasinya?
Terima kasih untuk paketnya yang luar biasa.
edit: Saya menggunakan impor ke koleksi dan berhasil, tetapi saya masih tidak tahu mengapa impor ke Model rusak
Karena Collection tidak menggunakan transaksi. Silakan lihat komentar saya sebelumnya, ini menjelaskan cara menonaktifkan transaksi.
Karena Collection tidak menggunakan transaksi. Silakan lihat komentar saya sebelumnya, ini menjelaskan cara menonaktifkan transaksi.
Hai, terima kasih atas balasan cepat Anda.
Saya membaca komentar Anda, itulah mengapa saya menerima "Tidak dapat menyelesaikan driver NULL untuk [MaatwebsiteExcel \ Transactions \ TransactionManager]." kesalahan.
Jadi saya beralih ke koleksi
Anda mungkin mengetik sesuatu yang salah dalam konfigurasi Anda. NULL
tidak terdengar seperti driver yang valid. 'null'
(perhatikan bahwa itu adalah string) adalah.
Saya juga memiliki situasi yang sama, saya mendapat solusi di https://docs.laravel-excel.com/3.1/imports/validation.html#disable -transactions
Tapi, saya tidak tahu cara membuat Custom transaction handlers
dan di mana menggunakannya
Saya punya mongodb juga. https://docs.laravel-excel.com/3.1/imports/validation.html#disable -transactions ini bekerja untuk saya. Thx @patrickbrouwers
Mungkin kalian mengalami masalah yang sama dengan yang saya alami di # 2384
Mungkin solusi saya akan berhasil untuk Anda, coba:
php artisan config:clear
Terkadang, khususnya saat memperbarui paket, Laravel tidak akan membersihkan cache dan paket Anda tidak akan menemukan file konfigurasi. Dengan demikian, driver akan selalu NULL dan gagal.
Mungkin kalian mengalami masalah yang sama dengan yang saya alami di # 2384
Mungkin solusi saya akan berhasil untuk Anda, coba:
php artisan config:clear
Terkadang, khususnya saat memperbarui paket, Laravel tidak akan membersihkan cache dan paket Anda tidak akan menemukan file konfigurasi. Dengan demikian, driver akan selalu NULL dan gagal.
Jawaban Terbaik
Komentar yang paling membantu
Mungkin kalian mengalami masalah yang sama dengan yang saya alami di # 2384
Mungkin solusi saya akan berhasil untuk Anda, coba:
php artisan config:clear
Terkadang, khususnya saat memperbarui paket, Laravel tidak akan membersihkan cache dan paket Anda tidak akan menemukan file konfigurasi. Dengan demikian, driver akan selalu NULL dan gagal.