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

Rails Advance-Abfrage CASE WHEN-Methode funktioniert nicht

Gemäß der Abfrage besteht Ihr Szenario darin, die Nachrichten auszuwählen, bei denen entweder user_one der aktuelle Benutzer oder user_two der aktuelle Benutzer ist. Anstelle einer komplexen Abfrage können Sie also einfach Folgendes tun

Message.where("messages.user_one = ? OR messages.user_two =?", current_user, current_user).order("m_id ASC").limit(20)

jetzt, um Details für den Benutzer hinzuzufügen. Sie können entweder die angezeigten Nachrichten durchlaufen und den Benutzer für jede Nachricht abrufen und anzeigen. oder Sie können ein Array von Hashes erstellen und das an die Ansicht zurückgeben.