エンティティやその他オブジェクトにプロパティを追加するカスタマイズを行なった時にNoSuchPropertyExceptionが発生することがあります。
EC-CUBE/SymfonyではtwigからProduct.hogeのような形で呼び出したりform_widgetでフォームを出力する時によく見かけると思います。

Symfony\Component\PropertyAccess\Exception\NoSuchPropertyException

次のようなエラーが発生します。
Neither the property “hoge” nor one of the methods “getHoge()”, “Hoge()”, “isHoge()”, “hasHoge()”, “__get()” exist and have public access in class “Eccube\Entity\Product”.

EC-CUBE4では既存のエンティティにプロパティを追加カスタマイズする時にプロキシクラスからTraitを利用する方法が一般的になっています。
その時にプロキシクラスの生成を忘れているとNoSuchPropertyExceptionで怒られてしまいます。

$ php bin/console eccube:generate:proxies を実行してproxyクラスを生成してください。

日本発!ECオープンプラットフォーム「EC-CUBE」 EC-CUBEゴールドパートナー EC-CUBEは株式会社イーシーキューブの商標です

EC-CUBEカスタマイズに関するお問い合わせはこちら


    [重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。

    EC-CUBEバージョンアップ