バージョン選択

フォーラム

メニュー

オンライン状況

55 人のユーザが現在オンラインです。 (45 人のユーザが フォーラム を参照しています。)
登録ユーザ: 1
ゲスト: 54
tattsu もっと...

サイト内検索

質問 > 管理機能 > 支払方法一覧にて削除してしまった支払方法を元に戻す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のレコードを削除すれば解決するかもしれません。

データベースの値を直接操作する場合は、必ずバックアップデータを取っておくのが良いかと思います。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

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文を実行すると無事にエラーが解消されました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,689名です
総投稿数は109,935件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1569
9
mcontact
1280
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.