Ich habe eine LibraryEntry
Modell mit einer Zeichenfolge Spalte status
, die zu einem User
Modell gehört.Rails Reihenfolge von String-Spalte Wert durch Joins
Ich möchte alle LibraryEntry
Modelle finden, die zu einem User
gehören, wo ich status
eine Priorität für den Wert der Zeichenfolge Spalte kann das Modell zu sortieren.
Zum Beispiel status
das Modell in dieser Reihenfolge von der String-Spalte zu sortieren: [watch,complete,drop,backlog,wishlist]
ich diesen Thread überprüft haben Postgres: Order by string column with known values und habe versucht, meine eigene SQL-Anweisung zu schreiben, aber es hat nicht funktioniert, wird der Fehler immer PG::AmbiguousColumn: ERROR: column reference "status" is ambiguous
#This is under the model LibraryEntry`
def self.priority_order
order("CASE
WHEN status = 'watch' THEN '1'
WHEN status = 'complete' THEN '2'
WHEN status = 'wishlist' THEN '3'
WHEN status = 'drop' THEN '4'
WHEN status = 'backlog' THEN '5'
END")
end
#The query to sort the model in the controller
@lib = @user.library_entries.priority_order.joins(:vn).order('vns.name')
status
kann entweder
watch
complete
drop
backlog
wishlist
"... aber es hat nicht funktioniert" - weitere Details bitte. –