Maison > développement back-end > tutoriel php > Comment implémenter les jointures à gauche dans la doctrine de récupération des antécédents de crédit ?

Comment implémenter les jointures à gauche dans la doctrine de récupération des antécédents de crédit ?

DDD
Libérer: 2024-10-29 21:52:02
original
982 Les gens l'ont consulté

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

Comment effectuer des jointures à gauche dans Doctrine

Dans votre fonction getHistory(), vous tentez de récupérer l'historique de crédit d'un utilisateur . Cependant, la syntaxe initiale de votre clause de jointure a entraîné une erreur.

Pour effectuer une jointure gauche dans Doctrine, vous pouvez utiliser la syntaxe suivante :

<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>
Copier après la connexion

Ici, a représente l'alias pour l’entité UserCreditHistory, et u représente l’alias de l’entité User rejointe. En utilisant la méthode leftJoin(), vous spécifiez que vous souhaitez inclure les lignes de la table User qui ne correspondent pas à la table UserCreditHistory.

Alternativement, si vous n'avez pas d'association entre les deux entités, vous pouvez utiliser la syntaxe suivante :

<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>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal