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