プラグイン > 開発について > QueryBuilder に innerJoin されているかどうかを判定したい |
開発について
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
h_tanaka |
投稿日時: 2017/5/23 14:22
対応状況: −−−
|
神 ![]() ![]() 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1423 |
QueryBuilder に innerJoin されているかどうかを判定したい EC-CUBE 3.0.10
商品検索時に商品種別に対してフィルターをかけたいのですが、プラグイン側で ProductClasses に対してleftJoinしようとすると全商品検索(カテゴリー指定なし)のときにエラーになります。 src/Eccube/Repository/ProductRepository.php において、カテゴリーを指定していないときは ProductClasses をinnerJoinしていないためだと思われます。 プラグイン側で、QueryBuilder に ProductClasses をinnerJoinしているかどうかを判定することは可能でしょうか? エラーメッセージ QueryException in QueryException.php line 63: [Semantical Error] line 0, col 50 near '.ProductType': Error: Identification Variable pc used in join path expression but was not defined before. event.yml
Event.php
ちなみに、EC-CUBE 3.0.14 ではなぜかエラーが発生せず問題なくフィルタリングできました。
|
nyorai |
投稿日時: 2017/5/23 14:44
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2015/8/21 居住地: 投稿: 302 |
Re: QueryBuilder に innerJoin されているかどうかを判定したい
で、joinされている一覧を取得できるので、それで判定すると良いかと思います。 |
h_tanaka |
投稿日時: 2017/5/23 15:04
対応状況: 解決済
|
神 ![]() ![]() 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1423 |
Re: QueryBuilder に innerJoin されているかどうかを判定したい ありがとうございます!
教えていただいた方法を組み込んで、次のような実装で判定することができました。
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |