Doctrine 2に問題があり、仕事を始めようとしているメイトマニーの関係に左結合します。おそらく私のクエリビルダーですが、理解できないようです。
私は次のような結合テーブルを持っています:
----------------------------------
| user_id | attraction_id |
----------------------------------
| 4 1 |
| 4 2 |
| 4 3 |
----------------------------------
ユーザーとアトラクションの2つのモデルの場合、ユーザーはリレーションシップの所有者です。
このクエリを実行すると:
$attractions = $CI->em->createQueryBuilder()
->select('a', 'u')
->from('\ListLovers\Model\Attraction', 'a')
->leftJoin('a.users', 'u', \Doctrine\ORM\Query\Expr\Join::WITH, 'u.id = 4')
->getQuery()->getResult();
IDが1のアトラクションのユーザー数は1です。すばらしいです。
ここで、次のように結合テーブルに別の行を追加すると、次のようになります。
----------------------------------
| user_id | attraction_id |
----------------------------------
| 1 1 |
| 4 1 |
| 4 2 |
| 4 3 |
----------------------------------
...そして同じクエリを実行すると、IDが1のアトラクションのユーザー数は...ZEROになります。なに?
私は何かが足りないのですか?
ありがとう、マーク。