バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 商品の複製でシステムエラー

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
h_tanaka
投稿日時: 2022/12/13 13:57
対応状況: 解決済
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1638
商品の複製でシステムエラー
EC-CUBE 4.0.2
本体カスタマイズあり

商品の複製でシステムエラーになるケースが発生してしまいます。
Expected value of type "Eccube\Entity\Present" for association field "Eccube\Entity\PresentOption#$Present", got "Eccube\Entity\ProductClass" instead.

Present, PresentOption は独自に作成したものですが、作成したのは3年前でこれまでは正常に動作していました。
環境によって再現したりしなかったりなのでデータに依存したエラーではないかと思っています。
複製時の flush() のタイミングでエラーが発生しているため、データベースのデータを見るか、デバッグしてデータを見るかして調査するしかないと思っています。
上記エラーから原因がなにかわかる方いらっしゃいますでしょうか?

app/Customize/Entity/ProductClassTrait.php

    /**
     * @var \Doctrine\Common\Collections\Collection
     *
     * @ORM\OneToMany(targetEntity="Eccube\Entity\PresentOption", mappedBy="Present", cascade={"persist","remove"})
     */
    private $PresentOptions;


src/Eccube/Entity/PresentOption.php

        /**
         * @var \Eccube\Entity\Present
         *
         * @ORM\ManyToOne(targetEntity="Eccube\Entity\Present", inversedBy="PresentOptiones")
         * @ORM\JoinColumns({
         *   @ORM\JoinColumn(name="present_id", referencedColumnName="id")
         * })
         */
        private $Present;

        /**
         * @var \Eccube\Entity\ProductClass
         *
         * @ORM\ManyToOne(targetEntity="Eccube\Entity\ProductClass", inversedBy="PresentOptiones")
         * @ORM\JoinColumns({
         *   @ORM\JoinColumn(name="product_class_id", referencedColumnName="id")
         * })
         */
        private $ProductClass;


src/Eccube/Entity/Present.php

        /**
         * @var \Eccube\Entity\ProductClass
         *
         * @ORM\ManyToOne(targetEntity="Eccube\Entity\ProductClass")
         * @ORM\JoinColumns({
         *   @ORM\JoinColumn(name="present_product_class_id", referencedColumnName="id")
         * })
         */
        private $PresentProductClass;

        /**
         * @var \Doctrine\Common\Collections\Collection
         *
         * @ORM\OneToMany(targetEntity="Eccube\Entity\PresentOption", mappedBy="Present", cascade={"persist","remove"})
         */
        private $PresentOptions;

h_tanaka
投稿日時: 2022/12/15 17:03
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1638
Re: 商品の複製でシステムエラー
本件、自己解決しました。

ORMの定義に誤りがありました。

@ORM\OneToMany(targetEntity="Eccube\Entity\PresentOption", mappedBy="Present", cascade={"persist","remove"})
 ↓
@ORM\OneToMany(targetEntity="Eccube\Entity\PresentOption", mappedBy="ProductClass", cascade={"persist","remove"})


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1570
9
mcontact
1286
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.