Die Verwendung mehrerer where-Klauseln mit laravel Abfrage-generator
Im mit eine Menge ärger konvertieren Sie die folgende SQL-Abfrage für die Arbeit mit laravels Abfrage-generator.
SELECT * FROM gifts
JOIN giftcategory ON gifts.id = giftcategory.giftid
JOIN giftoccasions ON gifts.id = giftoccasions.giftid
JOIN giftrelationship ON gifts.id = giftrelationship.giftid
WHERE (gifts.gender = 'any' OR gifts.gender = 'male')
AND giftoccasions.occasionid = '2'
AND (giftcategory.categoryid = '0' OR giftcategory.categoryid = '1')
AND giftrelationship.relationshipid = '1'
Diese Abfrage funktioniert Prima, aber ich kann nicht die gleichen Ergebnisse bei der Verwendung von Laravels Abfrage-generator. Ich habe den folgenden code so weit. Es funktioniert nicht bei allen. Ich denke das Problem liegen könnte mit der orWhere Teil, weil es scheint, werden Ergebnisse zurückgegeben, die nicht mit einem der anderen where-Klauseln.
$giftQuery = DB::Table('gifts')
->Join('giftcategory', 'gifts.id', '=', 'giftcategory.giftid')
->Join('giftoccasions', 'gifts.id', '=', 'giftoccasions.giftid')
->where('gifts.gender', '=', "male")
->orwhere('gifts.gender', '=', "any")
->where('giftoccasions.occasionid', '=', "2")
->where('giftoccasions.relationshipid', '=', "1")
->Where('giftcategory.categoryid', '=', "0")
->orWhere('giftcategory.categoryid', '=', "1");
- wenn Sie zufrieden mit meiner Antwort weiter unten, können Sie es akzeptieren 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Sie verwenden möchten erweiterte, wo mit parameter-Gruppierung: