0
votes

Laravel Eloquant Comment appliquer la condition sur "avec" Datas sur la sortie?

voici mon code:

$prestations = Prestation::with(
            [
            'service' => function($service) use($searchService) {
                $service->select(['id','name'])->where('name', 'regexp', "/$searchService/i");
            },
            'facility' => function($facility) use($searchPartenaire) {
                $facility->select(['id','name'])->where('name', 'regexp', "/$searchPartenaire/i");
            }
            ]
        )
            ->where('name', 'regexp', "/$search/i")
            ->orderBy($orderBy, $orderDirection)
            ->simplePaginate(50);

        $res = [
            'results' => $prestations,
            'total' => Prestation::all()->count(),
        ];


2 commentaires

Est-ce que vous voulez dire que si le service $ n'est pas égal sur $ SearchService, que les enregistrements sortent toujours, mais le nom est remplacé par NULL?


@Tsaikoga oui, exactement !!


3 Réponses :


1
votes

Vous pouvez essayer comme ceci xxx

1st crée des instances de Prestation $ PRESTATIONS = PRESTATION :: AVEC (Service ', "Service")

Appliquez ensuite la confrontation C'est une bonne approche à SECCH


2 commentaires

Merci pour votre suggestion, j'ai un problème avec ceci: une boucle infinie de demande HTTP


@Tony le retourne alors. ont utilisé cela dans mon projet ça marche pour moi



0
votes

voici mon code après Kamlesh Paul Suggestion: XXX

Mais il y a un appels infinis de la demande HTTP, je pense que le problème est quand le problème ne trouve pas un nom égal, quiconque avoir une suggère? Merci.


2 commentaires

Comment vous sait une boucle infinie se produire.


Je vois cela dans les devtools (de Navigator), ce n'est pas une boucle, c'est des appels de demande infinie.



0
votes

J'ai enfin trouvé une solution très similaire: xxx merci pour votre aide.


0 commentaires