特定のショップに属するすべての顧客を返す教義クエリがあります。合計で 29 のレコードが返されます。ただし、ほぼ同じ DQL を使用してカウント クエリを実行すると、異なる数の結果が得られます。
Query1 - 結果のフェッチ:
SELECT c FROM Customer c INNER JOIN c.shops cs WHERE cs.shop IN(2, 3)
戻り値 (count() を使用して、返されたレコードの数をカウントします)
int(29)
Query2 - カウント結果:
SELECT count(c) FROM Customer c INNER JOIN c.shops cs WHERE cs.shop IN(2, 3)
戻り値:
array(1) { [0]=> array(1) { [1]=> string(2) "36" } }
私はそれがどのように起こっているのか理解できないようですか?うまくいけば、誰かが助けることができます...