Ich habe vier Tabellen in der Datenbank, d. H. Pakete, Fixtures, Deals und Fixtures Deals.Wie Verwenden von GroupBy in verschachtelter Abfrage in Laravel 5?
Hier sind die Tabellenstruktur Details:
Packages: id, title
Fixtures: id, package_id, name
Deals: id, discound, description
Fixtures_Deal: id, fixture_id, deal_id, price
Ich brauche zusammen mit dem Mindest Deal Preis der Pakete Liste zu erhalten, die für jedes Paket in jedem Gerät bietet.
Hier ist die MySQL-Abfrage, die ich in phpMyAdmin oder SQLYog ausführen, und es funktioniert perfekt, aber in Laravel gibt es mir "p.title" ist nicht in GROUP BY "-Fehler.
SELECT
p.title AS package_title,
tbl_min_value.min_price AS min_price
FROM
(SELECT
fixture_id,
MIN(deal_price) AS min_price
FROM
fixture_deal
GROUP BY fixture_id) AS tbl_min_value
JOIN fixtures AS f
ON f.id = tbl_min_value.fixture_id
RIGHT JOIN packages AS p
ON f.package_id = p.id
GROUP BY p.id
By the way, ich versuche, es zu erreichen, indem die folgende Methode in Modell:
return DB::statement('SELECT
p.title AS package_title,
tbl_min_value.min_price AS min_price
FROM
(SELECT
fixture_id,
MIN(deal_price) AS min_price
FROM
fixture_deal
GROUP BY fixture_id) AS tbl_min_value
JOIN fixtures AS f
ON f.id = tbl_min_value.fixture_id
RIGHT JOIN packages AS p
ON f.package_id = p.id
GROUP BY p.id');
haben Sie versucht, es auf andere Weise auszuführen, wie '$ pdo = DB :: connection() -> getPdo();' und feuern Sie es direkt – Mruf
Nein, ich habe es nicht versucht. Können Sie bitte erläutern, wie kann ich das tun? Sollte ich einen solchen Code schreiben ?: DB :: connection() -> getPdo ('Query'); –
https://codeshare.io/29QA72 – Mruf