プラグイン > バグ報告・利用に関する質問 > 関連商品プラグインのエラー |
バグ報告・利用に関する質問
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
naham |
投稿日時: 2018/7/17 17:19
対応状況: −−−
|
半人前 登録日: 2017/1/11 居住地: 投稿: 11 |
Re: 関連商品プラグインのエラー red様
ありがとうございます。 ひとまずの解決策として、影響がないか確認後行ってみたいと思います。 |
naham |
投稿日時: 2018/7/17 17:18
対応状況: 開発中
|
半人前 登録日: 2017/1/11 居住地: 投稿: 11 |
Re: 関連商品プラグインのエラー 468様
原因箇所の救命と解決用のコード、誠にありがとうございます。 早速テストを行ってみます。 上手く言ったらまたご報告させていただきます。 |
red |
投稿日時: 2018/7/11 21:00
対応状況: −−−
|
神 登録日: 2010/2/15 居住地: 東京都 投稿: 1567 |
Re: 関連商品プラグインのエラー MySQLであればUNSIGNEDにしておくだけでもだいぶ違う気がします
|
468 |
投稿日時: 2018/7/11 1:38
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 関連商品プラグインのエラー プラグイン内の/Event/Event.php 164行目の以下の記述が原因で
一旦すべて、関連商品データを削除して新規登録し直しているようです。
function onRenderAdminProductComplete()の中を 以下のソースのように、登録済の関連商品と画面から送信された関連商品を比較して、追加・更新・削除を行うようにすれば、 無駄にIDを消費する事は無くなると思います。
※軽く動作確認していますが、パパッと書いたコードなので、きちんとした検証は必要かと思います。
|
naham |
投稿日時: 2018/7/9 13:15
対応状況: −−−
|
半人前 登録日: 2017/1/11 居住地: 投稿: 11 |
関連商品プラグインのエラー EC-CUBE3の「関連商品プラグイン」ですが、
商品情報を更新(在庫数を変更)以下のエラーが発生しました。 画面では「システムエラーです」と表示され、商品情報が更新できません。 [2018-07-09 11:28:29] eccube.INFO: remove all now related product data of {"Product id":364} [] [2018-07-09 11:28:29] eccube.INFO: save new related product data to DB {"Related Product id":32767} [] [2018-07-09 11:28:29] eccube.CRITICAL: Doctrine\DBAL\Exception\UniqueConstraintViolationException: An exception occurred while executing 'INSERT INTO plg_related_product (content, product_id, child_product_id) VALUES (?, ?, ?)' with params [null, 364, 366]: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '32767' for key 'PRIMARY' (uncaught exception) at /home/サーバID/ドメイン/public_html/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php line 66 {"exception":"[object] (Doctrine\\DBAL\\Exception\\UniqueConstraintViolationException(code: 0): An exception occurred while executing 'INSERT INTO plg_related_product (content, product_id, child_product_id) VALUES (?, ?, ?)' with params [null, 364, 366]:\n\nSQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '32767' for key 'PRIMARY' at /home/サーバID/ドメイン/public_html/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:66, Doctrine\\DBAL\\Driver\\PDOException(code: 23000): SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '32767' for key 'PRIMARY' at /home/サーバID/ドメイン/public_html/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:93, PDOException(code: 23000): SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '32767' for key 'PRIMARY' at /home/サーバID/ドメイン/public_html/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:91)"} [] 推測なのですが、「関連商品プラグイン」が、商品情報を更新するたびに新しいidを追加しており、 それがMySQLの上限である32767を超えてしまった…という形でしょうか。 一応プラグインを停止すれば通常通り使えますし、 「関連商品の情報」をリセットすれば問題なく使えるのでしょうが、何か根本的な解決策はないでしょうか。 |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |