exceedone / exment

Exment is open source software for managing information assets on the Web. / Exmentは、情報資産をWeb上で管理するための、オープンソースソフトウェアです。
https://exment.net/docs/#
GNU General Public License v3.0
260 stars 63 forks source link

1:n関係のn側テーブルに対し、Excelインポートで新規データ登録を試みると、サーバ側でエラー発生するがUI側に何も表示されない #1411

Open gggorugoda opened 6 months ago

gggorugoda commented 6 months ago

Describe the bug / バグの説明

1:n関係のn側テーブルに対し、Excelインポートで新規データ登録を試みると、サーバ側でエラー発生するがUI側に何も表示されない

To Reproduce / 再現手順

1)1:n関係のテーブルを作成(例: 伝票テーブル、伝票明細テーブル) 2)伝票テーブルにフォーム入力してデータ登録 3)伝票明細のインポートメニュー「テンプレート出力」でExcelファイルを入手 4)Excelファイルに新規データ用の行を記入    ・parent_type・・・伝票テーブルのtableKey    ・parent_id・・・2で得たデータID 5)伝票明細のインポートメニューにて、4で作成したファイルを指定して実行  →画面上はエラーメッセージが表示されず正常完了したように見えるが、データは登録されていない。

Version / 発生バージョン

v5.0.10

Error log / エラーログ

local.ERROR: array_combine(): Argument #1 ($keys) and argument #2 ($values) must have the same number of elements {"userId":1,"exception":"[object] (ValueError(code: 0): array_combine(): Argument #1 ($keys) and argument #2 ($values) must have the same number of elements at /var/www/exment/vendor/exceedone/exment/src/Services/DataImportExport/Actions/Import/CustomTableAction.php:338)
[stacktrace]
#0 /var/www/exment/vendor/exceedone/exment/src/Services/DataImportExport/Actions/Import/CustomTableAction.php(338): array_combine()
#1 /var/www/exment/vendor/exceedone/exment/src/Services/DataImportExport/Actions/Import/CustomTableAction.php(167): Exceedone\\Exment\\Services\\DataImportExport\\Actions\\Import\\CustomTableAction->getImportTableSetting()
#2 /var/www/exment/vendor/exceedone/exment/src/Services/DataImportExport/DataImportExportServiceTrait.php(242): Exceedone\\Exment\\Services\\DataImportExport\\Actions\\Import\\CustomTableAction->import()
#3 /var/www/exment/vendor/exceedone/exment/src/DataItems/Grid/DefaultGrid.php(618): Exceedone\\Exment\\Services\\DataImportExport\\DataImportExportService->import()
#4 /var/www/exment/vendor/exceedone/exment/src/Controllers/CustomValueController.php(511): Exceedone\\Exment\\DataItems\\Grid\\DefaultGrid->import()
#5 /var/www/exment/vendor/exceedone/exment/src/Controllers/AdminControllerTableBase.php(59): Exceedone\\Exment\\Controllers\\CustomValueController->import()
#6 /var/www/exment/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Exceedone\\Exment\\Controllers\\AdminControllerTableBase->callAction()
#7 /var/www/exment/vendor/laravel/framework/src/Illuminate/Routing/Route.php(260): Illuminate\\Routing\\ControllerDispatcher->dispatch()
#8 /var/www/exment/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#9 /var/www/exment/vendor/laravel/framework/src/Illuminate/Routing/Router.php(798): Illuminate\\Routing\\Route->run()
#10 /var/www/exment/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(141): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#11 /var/www/exment/vendor/exceedone/laravel-admin/src/Middleware/Session.php(18): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /var/www/exment/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Encore\\Admin\\Middleware\\Session->handle()
#13 /var/www/exment/vendor/exceedone/laravel-admin/src/Middleware/Permission.php(42): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#14 /var/www/exment/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Encore\\Admin\\Middleware\\Permission->handle()
#15 /var/www/exment/vendor/exceedone/laravel-admin/src/Middleware/Bootstrap.php(15): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#16 /var/www/exment/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Encore\\Admin\\Middleware\\Bootstrap->handle()
#17 /var/www/exment/vendor/exceedone/exment/src/Middleware/LogOperation.php(41): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#18 /var/www/exment/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Exceedone\\Exment\\Middleware\\LogOperation->handle()
#19 /var/www/exment/vendor/exceedone/laravel-admin/src/Middleware/Pjax.php(24): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#20 /var/www/exment/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Encore\\Admin\\Middleware\\Pjax->handle()
#21 /var/www/exment/vendor/exceedone/exment/src/Middleware/Bootstrap.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#22 /var/www/exment/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Exceedone\\Exment\\Middleware\\Bootstrap->handle()
#23 /var/www/exment/vendor/exceedone/exment/src/Middleware/Morph.php(20): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#24 /var/www/exment/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Exceedone\\Exment\\Middleware\\Morph->handle()
#25 /var/www/exment/vendor/exceedone/exment/src/Middleware/AuthenticatePasswordLimit.php(24): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /var/www/exment/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Exceedone\\Exment\\Middleware\\AuthenticatePasswordLimit->handle()
#27 /var/www/exment/vendor/exceedone/exment/src/Middleware/Authenticate2factor.php(23): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#28 /var/www/exment/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Exceedone\\Exment\\Middleware\\Authenticate2factor->handle()
#29 /var/www/exment/vendor/exceedone/exment/src/Middleware/Authenticate.php(41): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#30 /var/www/exment/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Exceedone\\Exment\\Middleware\\Authenticate->handle()
#31 /var/www/exment/vendor/exceedone/exment/src/Middleware/Initialize.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/exment/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Exceedone\\Exment\\Middleware\\Initialize->handle()
#33 /var/www/exment/vendor/exceedone/exment/src/Middleware/IpFilterBase.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/exment/vendor/exceedone/exment/src/Middleware/WebIPFilter.php(15): Exceedone\\Exment\\Middleware\\IpFilterBase->handleBase()
#35 /var/www/exment/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Exceedone\\Exment\\Middleware\\WebIPFilter->handle()
#36 /var/www/exment/vendor/exceedone/exment/src/Middleware/Browser.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#37 /var/www/exment/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Exceedone\\Exment\\Middleware\\Browser->handle()
#38 /var/www/exment/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#39 /var/www/exment/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#40 /var/www/exment/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#41 /var/www/exment/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#42 /var/www/exment/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#43 /var/www/exment/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#44 /var/www/exment/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#45 /var/www/exment/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#46 /var/www/exment/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Session\\Middleware\\StartSession->handle()
#47 /var/www/exment/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#48 /var/www/exment/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#49 /var/www/exment/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#50 /var/www/exment/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#51 /var/www/exment/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#52 /var/www/exment/vendor/laravel/framework/src/Illuminate/Routing/Router.php(799): Illuminate\\Pipeline\\Pipeline->then()
#53 /var/www/exment/vendor/laravel/framework/src/Illuminate/Routing/Router.php(776): Illuminate\\Routing\\Router->runRouteWithinStack()
#54 /var/www/exment/vendor/laravel/framework/src/Illuminate/Routing/Router.php(740): Illuminate\\Routing\\Router->runRoute()
#55 /var/www/exment/vendor/laravel/framework/src/Illuminate/Routing/Router.php(729): Illuminate\\Routing\\Router->dispatchToRoute()
#56 /var/www/exment/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(190): Illuminate\\Routing\\Router->dispatch()
#57 /var/www/exment/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(141): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#58 /var/www/exment/vendor/exceedone/exment/src/Middleware/ExmentDebug.php(15): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#59 /var/www/exment/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Exceedone\\Exment\\Middleware\\ExmentDebug->handle()
#60 /var/www/exment/vendor/exceedone/exment/src/Middleware/TrustProxies.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#61 /var/www/exment/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Exceedone\\Exment\\Middleware\\TrustProxies->handle()
#62 /var/www/exment/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#63 /var/www/exment/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#64 /var/www/exment/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#65 /var/www/exment/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#66 /var/www/exment/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#67 /var/www/exment/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#68 /var/www/exment/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#69 /var/www/exment/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle()
#70 /var/www/exment/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#71 /var/www/exment/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#72 /var/www/exment/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#73 /var/www/exment/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Http\\Middleware\\HandleCors->handle()
#74 /var/www/exment/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#75 /var/www/exment/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#76 /var/www/exment/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#77 /var/www/exment/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(165): Illuminate\\Pipeline\\Pipeline->then()
#78 /var/www/exment/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(134): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#79 /var/www/exment/public/index.php(52): Illuminate\\Foundation\\Http\\Kernel->handle()
#80 {main}
"} 

Screenshots / スクリーンショット

なし

Additional context / その他

なし

KajitoriAdmin commented 3 months ago

@gggorugoda v6.0.2 でリリースしました、ご確認ください