Ich versuche, eine beredte Abfrage in Laravel durch eine Spalte aus der Pivot-Tabelle zu sortieren.Laravel sortiert nach Pivot-Tabelle Spalte
Grundsätzlich solange das Produkt, das durch den Benutzer favorisiert wird, wird sie mit der Schwenktabelle hinzugefügt, und es sollte zuerst die favorited diejenigen zeigen, und dann die übrigen. Da werde ich foreach in der Klinge benutzen.
Produkte Tabelle enthält die folgenden Spalten:
id, category, product_name, priority, status, created_at, updated_at
Benutzer Tabelle enthält diese Spalten:
id, name, email, created_at, updated_at
mit Anschluss an die im Modell Benutzer:
public function favorites()
{
return $this->belongsToMany(Products::class, 'favorites', 'user_id', 'product_id')
->withTimeStamps();
}
Favoriten Tabelle enthält die folgenden Spalten :
id, user_id, product_id, created_at, updated_at
In der Steuerung, die eloquent Abfrage ist zur Zeit:
$productinprogress = Products::all()
->sortByDesc("priority")
->where('status', 'inprogress');
Ich bin nur verwirrt, wie dies in Angriff zu nehmen.
ist Ihre Hilfe geschätzt. Ich danke dir sehr.
BadMethodCallException Methode mit nicht existiert. – RSK
Ich kann kein Prioritätsfeld in Ihrer Datenbank sehen, können Sie versuchen, die Priorität auf ein anderes Feld zu ändern, das dort vorhanden ist –
Es ist tatsächlich verfügbar, vergessen, es in den oberen stellen. Also ist das Prioritätsfeld verfügbar. – RSK