Ich brauche eine Auswahl Abfrage in Laravel 5.1, die ich habe keine Probleme mit dem Erstellen von regulären SQL und ich frage mich, ob Sie mir helfen könnten, es in Laravel zu schreiben.Laravel Abfrage mit Max und Gruppe von
Ich habe diese Abfrage erstellt, die alle Benutzer, die einen LKW, Anhänger und Lieferdatum haben, entspricht einem bestimmten Datum (stammt aus $ week_array). Es funktioniert, aber es wird einige Komponenten
$RS = $this->instance->user()
->with(['driver.delivery' => function($query) use ($week_array) {
$query->where('delivery_date', [Carbon\Carbon::parse($week_array['date'])->toDateTimeString()]);
}])
->with(['driver.trailer', 'driver.truck', 'driver.trailer.trailerType'])->get();
ich die Treiber ausschließen müssen fehlen, die MAX Liefertermin haben, die gleich oder größer als ausgewählten Lieferdatum in der Abfrage oben. Dies ist die normale Abfrage, die ich in Laravel einstecken muss.
Mit anderen Worten, ich brauche die folgende Abfrage (vereinfacht) zu Laravel konvertieren:
fürwhereHas
SELECT
*
FROM
USERS
INNER JOIN
DRIVERS ON DRIVERS.user_id = USERS.id
INNER JOIN
DELIVERIES ON DELIVERIES.driver_id = DRIVERS.id
WHERE
1 = 1
AND DELIVERIES.driver_id NOT IN (SELECT
driver_id
FROM
DELIVERIES
GROUP BY driver_id
HAVING MAX(delivery_date) >= '2016-05-10')
Ich habe Angst, ich habe Ihre Frage nicht vollständig verstanden. Haben Sie Probleme mit der Auswahl der MAX Werte? – Jackowski
Ich habe ein vereinfachtes SQL hinzugefügt, das funktioniert und das ich zu konvertieren versuche. – Andrew