【EC-CUBE3】ProductOptionプラグイン導入後に管理画面でエラー

ProductOptionプラグイン導入後に管理画面でエラーが発生

今回は下記の2パターンのエラーが発生
どちらも管理画面からの操作です。

1.受注詳細を見る
2.受注のステータスを「キャンセル」に変更

1のエラーは「ORMException in ORMException.php line 259」
これはエラーメッセージ生成しているプログラムだったような・・・
このエラー内容から原因を辿るのは難しいかな。

2のエラーは「FatalErrorException in OrderOptionRepository.php line 71」
$OptionCategory->getId()が取れないor空だよってエラーっぽい
こっちのほうが原因特定しやすそう。

IDが抜けている可能性があるので、DBでデータをたどって行く。

order_idからorder_detail_idを割り出す。
ProductOptionプラグインが原因っぽいので、plg_productoption系のテーブルを探っていく。

order_detail_idからorder_option_idを割り出す(plg_productoption_dtb_order_detail)
order_option_idで検索(plg_productoption_dtb_order_option)

serialカラムのデータ内容を確認

どうやらデータ内容が以前のオプション内容になっているっぽい。
運用途中でオプション内容を変えたのが原因かも。
serialの内容を修正

dtb_shipment_itemからitem_idを抽出

plg_productoption_dtb_shipment_itemを検索するもデータがない

ということでplg_productoption_dtb_shipment_itemにデータ登録(item_id, order_option_id)

これでどうするようになりました。

そして原因1も上記方法で解決できました。