バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 複数配送注文で Notice: Undefined index: Shipping

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
h_tanaka
投稿日時: 2021/1/22 9:01
対応状況: 解決済
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1635
複数配送注文で Notice: Undefined index: Shipping
EC-CUBE 4.0.5

注文手続きの複数配送フォームを独自で作成しています。
マイページで登録済みのお届け先を一覧で表示し、チェックボックスを入れることでお届け先を選択するようなカスタマイズを行っています。

チェックボックスを ON にすると $Order に $Shipping を登録するような処理を追加したのですが、保存後に再表示しようとすると、 $Order->getShippings() でシステムエラーになってしまいます。

ContextErrorException
HTTP 500 Internal Server Error
Notice: Undefined index: Shipping

src/Eccube/Entity/Order.php L.479, 1485
        /**
         * @var \Doctrine\Common\Collections\Collection|Shipping[]
         *
         * @ORM\OneToMany(targetEntity="Eccube\Entity\Shipping", mappedBy="Order", cascade={"persist","remove"})
         */
        private $Shippings;

        /**
         * Get shippings.
         *
         * @return \Doctrine\Common\Collections\Collection|\Eccube\Entity\Shipping[]
         */
        public function getShippings()
        {
            $criteria = Criteria::create()
            ->orderBy(['name01' => Criteria::ASC, 'name02' => Criteria::ASC, 'id' => Criteria::ASC]);

            return $this->Shippings->matching($criteria);
        }


$this->Shippings でエラーになっているようです。

データベースを確認したところ、対象の dtb_order に対する dtb_shipping は1つレコードが登録されており、各カラムの値も問題ないように見受けられます。

テーブル構造の変更はカラム追加くらいで、リレーション等は変更していません。

上記エラーが発生する原因または調査方法わかりますでしょうか?
kishikawa
投稿日時: 2021/1/22 11:41
対応状況: −−−
一人前
登録日: 2018/12/20
居住地: 松戸
投稿: 89
Re: 複数配送注文で Notice: Undefined index: Shipping
エラーの原因はわからなかったのですが、
エラーメッセージが

Notice: Undefined index: Shipping

であり、ShippingであってShippingsでないところは気になります。
あと、Undefined indexくらいでは500エラーにはならなそうなので、他のエラーメッセージもあるかもしれません。


----------------
株式会社ジョーレン
EC-CUBEプラチナパートナー

スピード構築でEC事業をサポート致します
EC-CUBE2系、3系、4系構築実績あり

ホームページ

468
投稿日時: 2021/1/22 11:41
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: 複数配送注文で Notice: Undefined index: Shipping
パッと見たところShippingsは配列が格納される想定ではないのでしょうか?
dumpして何が格納されているか確認されてみては如何ですか?


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

h_tanaka
投稿日時: 2021/1/22 11:48
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1635
Re: 複数配送注文で Notice: Undefined index: Shipping
kishikawa さん

私もそこは気になって、デバッグモードを外して実行してからログを確認しましたが、 vendor 内で CRITICAL になっているようでよくわかりませんでした。

[2021-01-22 08:50:38] php.WARNING [ea2359c6] [403a088] [293632] [Symfony\Component\Debug\ErrorHandler:handleError:532] - Notice: Undefined index: Shipping {"exception":"[object] (ErrorException(code: 0): Notice: Undefined index: Shipping at /Applications/MAMP/htdocs/test/local/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php:2843)"}
[2021-01-22 08:50:38] php.WARNING [ea2359c6] [403a088] [293632] [Symfony\Component\Debug\ErrorHandler:handleError:532] - Notice: Undefined index: {"exception":"[object] (ErrorException(code: 0): Notice: Undefined index: at /Applications/MAMP/htdocs/test/local/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php:2844)"}
[2021-01-22 08:50:38] php.CRITICAL [ea2359c6] [403a088] [293632] [Symfony\Component\Debug\ErrorHandler:handleException:584] - Call to a member function setValue() on null {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): Call to a member function setValue() on null at /Applications/MAMP/htdocs/test/local/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php:2844)"}
h_tanaka
投稿日時: 2021/1/22 14:31
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1635
Re: 複数配送注文で Notice: Undefined index: Shipping
本件、自己解決しました。

Symfony のデバッグモードで Doctrine を確認したところ、 Entities Mapping にて次の Mapping errors が発生していました。

Eccube\Entity\Shipping
The association Eccube\Entity\Shipping#CustomerAddress refers to the inverse side field Eccube\Entity\CustomerAddress#Shipping which does not exist.

Shipping に ManyToOne で CustomerAddress を紐付けていましたが、 CustomerAddress にも OneToMany で Shipping を紐付けておく必要があったようです。


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

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


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2311
5
umebius
2085
6
yuh
1819
7
h_tanaka
1635
8
red
1569
9
mcontact
1265
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.