「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > 信用履歴取得のために Doctrine に左結合を実装するにはどうすればよいですか?

信用履歴取得のために Doctrine に左結合を実装するにはどうすればよいですか?

2024 年 11 月 8 日に公開
ブラウズ:266

How to Implement Left Joins in Doctrine for Credit History Retrieval?

Doctrine で左結合を実行する方法

関数 getHistory() で、ユーザーの信用履歴を取得しようとしています。ただし、join 句の最初の構文ではエラーが発生しました。

Doctrine で左結合を実行するには、次の構文を使用できます:

$qb
    ->select('a', 'u')
    ->from('Credit\Entity\UserCreditHistory', 'a')
    ->leftJoin('a.user', 'u')
    ->where('u = :user')
    ->setParameter('user', $users)
    ->orderBy('a.created_at', 'DESC');

ここで、a は UserCreditHistory エンティティの別名を表し、u は結合された User エンティティの別名を表します。 leftJoin() メソッドを使用すると、UserCreditHistory テーブル内で一致しない User テーブルの行を含めることを指定します。

あるいは、2 つの間に関連付けがない場合は、エンティティの場合は、次の構文を使用できます:

$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');
````
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3