質問: いつもお世話になっております。 QueryBuilderで少し複雑な条件で count処理を実装しております。 まる1日かかり、行き詰まったため、 こちらでご質問させていただきます。 初歩的な質問となるかもしれませんが 何卒、ご容赦頂けますと幸いです。 以下の2つのテーブルをinnerJoinし countを下記のように実現したいです。 テーブルA id 顧客id テーブルB id(テーブルAのid) 商品id idは紐付いています。 顧客が同じ商品を何回購入しているのかを countで求めることは可能でしょうか? 以上、よろしくお願い致します。
回答: 頂きましたSQL文を元に下記のような QueryBuilderを作成し、 想定通りの動きを実装致しました。 ``` $qb = $this->createQueryBuilder('tb'); $result = $qb ->select('COUNT(tb.商品情報)') ->innerJoin('tb.テーブルA', 'ta') ->Where('tb.商品情報 = :商品情報') ->andWhere('ta.顧客情報 = :顧客情報') // 購入処理中は該当処理を行わない ->andWhere($qb->expr()->notin('ta.ステータス情報',[7,8])) ->setParameter('商品情報', $商品情報) ->setParameter('顧客情報', $顧客情報) ->getQuery() ->getResult(); return $result; ``` この度は誠にありがとうございました!