Mysql
 sql >> Database >  >> RDS >> Mysql

Il metodo Rails Advance query CASE WHEN non funziona

in base alla query, il tuo scenario consiste nel selezionare quei messaggi in cui user_one è l'utente corrente o user_two è l'utente corrente. quindi, piuttosto che una query complessa, ciò che puoi semplicemente fare è questo

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

ora per aggiungere dettagli ad esso per l'utente. puoi attraversare i messaggi visualizzati e recuperare l'utente per ogni messaggio e visualizzarlo. oppure puoi creare una matrice di hash e restituirla alla vista.