Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Schienen 3; Aktiver Rekord; wo; Bedingungsvergleich NICHT GLEICH zwischen zwei Spalten in der Datenbank

Der Fehler bezieht sich darauf, dass die Konstante User nicht definiert ist, aber um Ihre Frage nach der Where-Methode zu beantworten ...

:city_of_birth != :favourite_city

Dies wird immer wahr sein, also rufst du tatsächlich wo so an...

User.where(true)

Das wird nicht viel bringen, fürchte ich. Ich denke, Sie verwechseln dies vielleicht mit der Hash-Bedingungssyntax, die verwendet werden kann. Das wird dir auch nicht viel nützen. Sie müssten eine String-Bedingung wie diese verwenden...

User.where('users.city_of_birth != users. favourite_city')

Dies ist praktisch nur ein SQL-Schnipsel, der schließlich in die endgültige Anweisung aufgenommen wird, die an die Datenbank gesendet wird.