0
votes

Comment filtrer les résultats éloquents Laravel par une relation?

J'ai deux modèles TeamLeaderCompany Code> Qui: a beaucoup TeamLeaderCompanyTag Code>

TeamleaderCompany P>

$companies->whereHas(
    'teamleaderCompanyTags',
    function ($query) use ($condition) {
        $query->where('tag',
            (...)
        );
    }
);


0 commentaires

3 Réponses :


1
votes

Essayez cette requête:

TeamleaderCompany::has('teamleaderCompanyTags', '=', 1)     // companies that have only one tag
    ->whereHas('teamleaderCompanyTags', function ($query) { // companies that have `reseller` tag
        $query->where('tag', 'reseller');
    })
    ->get()


2 commentaires

Merci, mais cela retourne 'TeamLeaderCompanyTags' ayant un événement "revendeur" s'il y a d'autres tags ce que je cherche, c'est uniquement "revendeur", pas d'autres balises.


@ Plusfaabdellaoui Vous voulez dire des entreprises qui n'ont qu'une seule étiquette et cette étiquette est «revendeur». Vérifiez ma réponse mise à jour.



1
votes

Essayez cette méthode xxx


0 commentaires

0
votes

Vous avez deux conditions.

  • Il est nécessaire d'avoir le "revendeur" Tag
  • C'est la seule étiquette qu'il a xxx

0 commentaires