質問 > 管理機能 > 支払方法一覧にて削除してしまった支払方法を元に戻すorエラーを解消する方法 |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
adm88 |
投稿日時: 2019/6/17 17:42
対応状況: −−−
|
新米 登録日: 2019/6/17 居住地: 投稿: 5 |
支払方法一覧にて削除してしまった支払方法を元に戻すorエラーを解消する方法 支払い方法一覧に表示される支払い方法の一つを削除してしまい、一部のページでエラーが発生するようになってしまいました。
原因はわかっているのですが、対処ができずに困っております...。 【削除した支払い方法】 クレジットカード 【削除した理由】 ソニーペイメントのプラグイン導入で「クレジットカード決済」の項目が追加されたため、デフォルトで存在していた「クレジットカード」の項目が不要になったと判断してしまった。 【エラーが出るページ】 店舗設定>配送方法一覧にでてくる配送業者名をクリックした際。 エンドユーザー画面から商品購入のステップを踏んでいっても同様に途中でエラーが発生し進めなくなってしまいます。。 【エラーメッセージ】 Entity of type 'Eccube\Entity\Payment' for IDs id(5) was not found 【エラーの原因】 配送方法で「クレジット」の項目を設定しているのにも関わらず、支払い方法欄から項目を削除してしまったため、id5(クレジット)が見つからなくエラーになってしまっていると思われる。 【解決したい方針】 削除した支払い方法の項目を元に戻すことはできないと書いてあるので、他の方法でエラーを解消できる方法をご教示いただければと思っております。 |
468 |
投稿日時: 2019/6/18 9:11
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 支払方法一覧にて削除してしまった支払方法を元に戻すorエラーを解消する方法 削除はデータベースから直接操作されたのでしょうか?
配送方法と支払方法の関係を格納している dtb_payment_optionテーブルにpayment_id=5のレコードが残っている状況なのかもしれません。 もし、それが原因であれば、dtb_payment_optionテーブルのpayment_id=5のレコードを削除すれば解決するかもしれません。 データベースの値を直接操作する場合は、必ずバックアップデータを取っておくのが良いかと思います。
|
adm88 |
投稿日時: 2019/6/18 10:23
対応状況: −−−
|
新米 登録日: 2019/6/17 居住地: 投稿: 5 |
Re: 支払方法一覧にて削除してしまった支払方法を元に戻すorエラーを解消する方法 DBを直接操作ではなく、管理画面からGUIで操作しました。
本来ならば、「選択した支払い方法は設定中の配送方法に紐づいているため削除できません」のような処理があれば親切なのですが...。 提示いただいた方法で検証してみます。 ご親切にありがとうございます。 |
adm88 |
投稿日時: 2019/6/18 11:53
対応状況: −−−
|
新米 登録日: 2019/6/17 居住地: 投稿: 5 |
Re: 支払方法一覧にて削除してしまった支払方法を元に戻すorエラーを解消する方法 先ほどDBを直接みてみましたが、dtb_payment_optionテーブルにpayment_id=5のレコードは残っていませんでした。
スタックトレースに以下のようにあるのですが、キャッシュを読みに行っているせいか?と考えていますが、var/cache/配下は物理的に削除しても問題ないディレクトリなのでしょうか? 構成が把握できておらずすみませんが、ご教示いただけると幸いです。 Doctrine\ORM\EntityNotFoundException: Entity of type 'Eccube\Entity\Payment' for IDs id(5) was not found at /home/***/***.co.jp/public_html/***/vendor/doctrine/orm/lib/Doctrine/ORM/EntityNotFoundException.php:47 at Doctrine\ORM\EntityNotFoundException::fromClassNameAndIdentifier('Eccube\\Entity\\Payment', array('id' => 5)) (/home/***jp/***.co.jp/public_html/***/vendor/doctrine/orm/lib/Doctrine/ORM/Proxy/ProxyFactory.php:164) at Doctrine\ORM\Proxy\ProxyFactory->Doctrine\ORM\Proxy\{closure}(object(Payment), '__load', array()) (/home/***jp/***.co.jp/public_html/***/var/cache/dev/doctrine/orm/Proxies/__CG__EccubeEntityPayment.php:108) at Closure->__invoke(object(Payment), '__load', array()) (/home/***jp/***.co.jp/public_html/***/var/cache/dev/doctrine/orm/Proxies/__CG__EccubeEntityPayment.php:108) at Proxies\__CG__\Eccube\Entity\Payment->__load() (/home/***jp/***.co.jp/public_html/***/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php:3286) at Doctrine\ORM\UnitOfWork->initializeObject(object(Payment)) |
adm88 |
投稿日時: 2019/6/18 13:22
対応状況: −−−
|
新米 登録日: 2019/6/17 居住地: 投稿: 5 |
Re: 支払方法一覧にて削除してしまった支払方法を元に戻すorエラーを解消する方法 キャッシュ削除も効果なしでした。
症状は以下と同じなのですが。。 ただこちらの環境はMySQLですが、削除できませんとのメッセージはでませんでした。 https://github.com/EC-CUBE/ec-cube/issues/4120 |
adm88 |
投稿日時: 2019/6/19 11:44
対応状況: −−−
|
新米 登録日: 2019/6/17 居住地: 投稿: 5 |
Re: 支払方法一覧にて削除してしまった支払方法を元に戻すorエラーを解消する方法 自己解決したので一応記載します。
MySQL上にDB作成していたものの、向き先はSQLiteとなっていたのが原因でした。 サーバーにSSHしてSQLiteのテーブルを見てみると、dtb_payment_optionにid=5のレコードが残っていたため、delete文を実行すると無事にエラーが解消されました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |