バグ報告 > 管理機能 > 受注登録の商品検索でエラーが表示されます |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
kurabiz |
投稿日時: 2019/10/9 13:04
対応状況: 確認中
|
半人前 登録日: 2019/7/3 居住地: 投稿: 20 |
受注登録の商品検索でエラーが表示されます ▼テンプレート
[EC-CUBE] ECCUBE4 [レンタルサーバ]Xサーバー [現象] 受注登録時の注文ら商品を追加する際、(受注管理>受注登録>商品を追加>商品名・商品ID・商品コード) 商品名だと検索で表示されるが、 商品ID、商品コードだとエラーのポップアップが出て 検索結果が表示されない場合がある。 ▼エラーコード [2019-10-07 17:39:12] admin.ERROR [7b75ef73bc9ec1e0e038ac21da41957a] [5294ce3] [1] [Eccube\Log\Logger:log:64] - システムエラーが発生しました。 ["The discriminator column \"discriminator_type\" is missing for \"Eccube\\Entity\\ClassCategory\" using the DQL alias \"cc2\".","/home/ルート名/xxxx.jp/public_html/vendor/doctrine/orm/lib/Doctrine/ORM/Internal/Hydration/HydrationException.php",69,"#0 /home/xxxx/xxxx.jp/public_html/vendor/doctrine/orm/lib/Doctrine/ORM/Internal/Hydration/ObjectHydrator.php(246): Doctrine\\ORM\\Internal\\Hydration\\HydrationException::missingDiscriminatorColumn('Eccube\\\\Entity\\\\C...', 'discriminator_t...', 'cc2')\n#1 /home/xxxx/xxxx.jp/public_html/vendor/doctrine/orm/lib/Doctrine/ORM/Internal/Hydration/ObjectHydrator.php(367): Doctrine\\ORM\\Internal\\Hydration\\ObjectHydrator->getEntity(Array, 'cc2')\n#2 /home/xxxx/xxxx.jp/public_html/vendor/doctrine/orm/lib/Doctrine/ORM/Internal/Hydration/ObjectHydrator.php(162): Doctrine\\ORM\\Internal\\Hydration\\ObjectHydrator->hydrateRowData(Array, Array)\n#3 /home/xxxx/xxxx.jp/public_html/vendor/doctrine/orm/lib/Doctrine/ORM/Internal/Hydration/AbstractHydrator.php(152): Doctrine\\ORM\\Internal\\Hydration\\ObjectHydrator->hydrateAllData()\n#4 /home/xxxx/xxxx.jp/public_html/vendor/doctrine/orm/lib/Doctrine/ORM/AbstractQuery.php(976): Doctrine\\ORM\\Internal\\Hydration\\AbstractHydrator->hydrateAll(Object(Doctrine\\DBAL\\Driver\\PDOStatement), Object(Doctrine\\ORM\\Query\\ResultSetMapping), Array)\n#5 /home/xxxx/xxxx.jp/public_html/vendor/doctrine/orm/lib/Doctrine/ORM/AbstractQuery.php(922): Doctrine\\ORM\\AbstractQuery->executeIgnoreQueryCache(NULL, NULL)\n#6 /home/xxxx/xxxx.jp/public_html/vendor/doctrine/orm/lib/Doctrine/ORM/AbstractQuery.php(803): Doctrine\\ORM\\AbstractQuery->execute(NULL, NULL)\n#7 /home/xxxx/xxxx.jp/public_html/src/Eccube/Repository/ProductRepository.php(84): Doctrine\\ORM\\AbstractQuery->getSingleResult()\n#8 /home/xxxx/xxxx.jp/public_html/src/Eccube/Controller/Admin/Order/EditController.php(610): Eccube\\Repository\\ProductRepository->findWithSortedClassCategories(11)\n#9 /home/xxxx/xxxx.jp/public_html/vendor/symfony/http-kernel/HttpKernel.php(151): Eccube\\Controller\\Admin\\Order\\EditController->searchProduct(Object(Symfony\\Component\\HttpFoundation\\Request), 1, Object(Paginator_f262b94))\n#10 /home/xxxx/xxxx.jp/public_html/vendor/symfony/http-kernel/HttpKernel.php(68): Symfony\\Component\\HttpKernel\\HttpKernel->handleRaw(Object(Symfony\\Component\\HttpFoundation\\Request), 1)\n#11 /home/xxxx/xxxx.jp/public_html/vendor/symfony/http-kernel/Kernel.php(200): Symfony\\Component\\HttpKernel\\HttpKernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#12 /home/xxxx/xxxx.jp/public_html/index.php(74): Symfony\\Component\\HttpKernel\\Kernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request))\n#13 {main}"] [POST, /kanri/order/search/product, 125.199.240.94, https://www.xxxx.jp/kanri/order/new, Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36] |
nanasess |
投稿日時: 2019/10/10 10:32
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2303 |
Re: 受注登録の商品検索でエラーが表示されます dtb_class, dtb_classcategory, dtb_product, dtb_product_class に discriminator_type というカラムがあると思いますが、該当商品はどのようなデータが入っていますか?
|
kurabiz |
投稿日時: 2019/10/10 11:56
対応状況: −−−
|
半人前 登録日: 2019/7/3 居住地: 投稿: 20 |
Re: 受注登録の商品検索でエラーが表示されます 大河内さま
ご確認ありがとうございます! こちらの情報で合っていますでしょうか。 該当商品以外も全て同じデータが入っています。 dtb_class が見つからなかったのですが、 dtb_class_nameで問題無いでしょうか? dtb_product → product dtb_product_class → productclass dtb_classcategory → classcategory dtb_class_name → classname |
nanasess |
投稿日時: 2019/10/10 12:18
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2303 |
Re: 受注登録の商品検索でエラーが表示されます 正常っぽいですね。。
エラーの内容からすると、 ClassCategory の discriminator_type が正常に取得できないようです。 全ての商品ではなく、特定の商品で再現する感じでしょうか。 |
kurabiz |
投稿日時: 2019/10/10 15:59
対応状況: −−−
|
半人前 登録日: 2019/7/3 居住地: 投稿: 20 |
Re: 受注登録の商品検索でエラーが表示されます 一部の商品で再現する状況です。
色々と試して見た所、規格が1つのみ設定されている商品がエラーになるようです。 以下の商品では商品コードでもエラーが出ることなく検索できました。 ▼ 商品コードで検索できる商品 ・規格が設定されていない商品 ・規格が2つ設定されている商品 ・商品コードと商品IDが同じ数字の場合、その数字で検索した場合は検索できる 調べていくうちに判明しましたが、別の商品の商品コードと数字が被ってない場合は商品IDであれば正常に検索できるようでした。 商品名 ○ 商品ID ○ 商品コード × |
mackarel |
投稿日時: 2020/2/14 16:16
対応状況: −−−
|
半人前 登録日: 2018/11/2 居住地: 投稿: 24 |
Re: 受注登録の商品検索でエラーが表示されます 僕も同じ現象に出くわしました。
代替方法で解決しましたので共有いたします。 僕の場合、検索時に指定した商品コードが完全一致するものがあった場合に限りエラーが出ました。 その際、例えばAdmin/Order/EditController::searchProductの617行目辺りの
の中でdump($Product);すると、商品コードが完全一致するものはProductClassesの中身が完全一致したものしかなく、本来ある他のものが入っていませんでした。ここが原因っぽかったので、$builderの生成前で
と改めてProductClassを取ってきて入れ直してあげるとエラーが回避できました。 なぜか$Productに直接入れなくても行けました。。。 時間が経ってしまってますがご参考になればと思います。 |
h_tanaka |
投稿日時: 2020/3/31 15:13
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1610 |
Re: 受注登録の商品検索でエラーが表示されます 私も同じ問題にあたりました。
mackarel さんのコードを参考に、商品規格Entityを取得し直すだけで、なぜかどこにも set していないのに、解消されました。 src/Eccube/Controller/Admin/Order/EditController.php searchProduct() 内に追加。
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |