質問 > その他 > TaxRuleEventSubscriver.phpでgetProduct()がnullになる |
その他
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
umebius |
投稿日時: 2017/3/30 13:07
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: TaxRuleEventSubscriver.phpでgetProduct()がnullになる この行ではじかれてると思います。
https://github.com/doctrine/doctrine2/blob/v2.4.8/lib/Doctrine/ORM/UnitOfWork.php#L2605
私もこの挙動は疑問ですけどね。
|
hmorita_j |
投稿日時: 2017/3/30 11:52
対応状況: −−−
|
長老 登録日: 2017/3/3 居住地: 沈黙の巨大都市松戸 投稿: 222 |
Re: TaxRuleEventSubscriver.phpでgetProduct()がnullになる 確かに、p.ProductClassesを外したらうまくいきました。
doctrineをあまり理解しておらずわからないのですが、 なぜProductClassesをselectしているとTaxRuleEventSubscriver.phpでgetProduct()がnullになってしまうのでしょうか? 参考になるサイトなどありましたらご教示いただけるとうれしいです。 |
umebius |
投稿日時: 2017/3/30 11:25
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: TaxRuleEventSubscriver.phpでgetProduct()がnullになる 問題は'p.ProductClasses'をselectしていることだと思います。
ちょっと前のバージョンはしていなかったはずなのですが... あえてoneToManyのリレーションをselectする意味があるのかどうなのか、詳しく見ていないので分かりませんが。 高速化目的ならFETCH EAGERの方が良いと思います。
|
umebius |
投稿日時: 2017/3/30 11:19
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: TaxRuleEventSubscriver.phpでgetProduct()がnullになる カートは見ていませんが、商品詳細はここが原因だと思います。
ProductController、ProductRepositoryのこの書き方だとEventSubscriberでNULLになるはずです。 ※ProductController
※ProductRepository
|
hmorita_j |
投稿日時: 2017/3/30 10:28
対応状況: −−−
|
長老 登録日: 2017/3/3 居住地: 沈黙の巨大都市松戸 投稿: 222 |
Re: TaxRuleEventSubscriver.phpでgetProduct()がnullになる すみません!
ありがとうございますm(_ _)m |
h_tanaka |
投稿日時: 2017/3/30 10:26
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1646 |
Re: TaxRuleEventSubscriver.phpでgetProduct()がnullになる 購入確認ではうまく反映されているのですね^^;
商品詳細ではControllerやServiceではセットしていないようです。 どこでセットされているか調べますので、お時間ください。 |
hmorita_j |
投稿日時: 2017/3/30 10:17
対応状況: −−−
|
長老 登録日: 2017/3/3 居住地: 沈黙の巨大都市松戸 投稿: 222 |
Re: TaxRuleEventSubscriver.phpでgetProduct()がnullになる ShoppingControllerと今回の事象がどういう関係にあるのかがちょっとわからないので、もう一度整理させてください。
[事象] 個別税率を設定した際、特定ページで個別税率が反映されない(デフォルトの税率が反映されてしまう) [個別税率が反映されるページ] 商品一覧 購入確認 [個別税率が反映されないページ] 商品詳細 カート [確認したこと] 商品の税込価格はTaxRuleEventSubscriver.phpでセットされているはずだが、通常なら取得できるProductエンティティがnullとなっており、そのために該当のTaxRuleを取得できていない。
ここの $entity->getProduct()がnullになっています。 |
h_tanaka |
投稿日時: 2017/3/30 9:39
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1646 |
Re: TaxRuleEventSubscriver.phpでgetProduct()がnullになる もっとスマートな調べ方はあるかもしれませんが、私はこの方法でデバッグしています。
|
h_tanaka |
投稿日時: 2017/3/30 9:38
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1646 |
Re: TaxRuleEventSubscriver.phpでgetProduct()がnullになる エンティティのgetProduct()がnullということは、エンティティに本来セットするはずの$Productがnull、もしくはsetProduct()がコールされていないということです。
ShoppingController.phpの1311行目でsetされている$Productは1288行目でgetしています。 さらにそこでgetされている$Productをどこでsetされているかを追って・・・ と、順に元をたどっていけば原因がつかめると思います。 |
hmorita_j |
投稿日時: 2017/3/30 9:33
対応状況: −−−
|
長老 登録日: 2017/3/3 居住地: 沈黙の巨大都市松戸 投稿: 222 |
Re: TaxRuleEventSubscriver.phpでgetProduct()がnullになる すみません、私が理解できていないのですが、ShoppingControllerの1311行目は以下なのですが、何をデバッグすれば良いでしょうか?
|
« 1 (2) 3 » |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |