Doctrine で左結合を実行する方法
関数 getHistory() で、ユーザーの信用履歴を取得しようとしています。ただし、join 句の最初の構文ではエラーが発生しました。
Doctrine で左結合を実行するには、次の構文を使用できます:
<code class="php">$qb ->select('a', 'u') ->from('Credit\Entity\UserCreditHistory', 'a') ->leftJoin('a.user', 'u') ->where('u = :user') ->setParameter('user', $users) ->orderBy('a.created_at', 'DESC');</code>
ここで、 a はエイリアスを表しますUserCreditHistory エンティティの場合、u は結合された User エンティティの別名を表します。 leftJoin() メソッドを使用すると、UserCreditHistory テーブル内で一致しない User テーブルの行を含めることを指定します。
あるいは、この 2 つの間に関連付けがない場合は、エンティティの場合は、次の構文を使用できます:
<code class="php">$qb ->select('a', 'u') ->from('Credit\Entity\UserCreditHistory', 'a') ->leftJoin( 'User\Entity\User', 'u', \Doctrine\ORM\Query\Expr\Join::WITH, 'a.user = u.id' ) ->where('u = :user') ->setParameter('user', $users) ->orderBy('a.created_at', 'DESC'); ```` </code>
以上が信用履歴取得のために Doctrine に左結合を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。