Я создаю систему обмена сообщений в Rails, и для того, чтобы показать партнер разговора, я получаю их идентификатор из сообщений, которые current_user включены в:Выберите атрибут, который не current_user.id
Message.where("to_id = ? or user_id = ?", current_user.id, current_user.id)
Однако , как мне нужно только идентификатор другого пользователя из этого запроса, мне нужно, чтобы выбрать его, и я хотел бы выбрать либо :to_id
или :user_id
в зависимости от того не равна current_user.id
что-то вроде:
Message.where("to_id = ? or user_id = ?", current_user.id, current_user.id).select(:to_id, :user_id unless current_user.id)
Заранее спасибо!
Edit: Вот таблица сообщений упрощена:
create_table "messages", force: true do |t|
t.integer "to_id" -> User to whom the message was forwarded to
t.integer "user_id" -> User who wrote the message
end
являются вы просто пытаетесь получить массив идентификаторов, или вам нужно знать, являются ли они из полей: to_id и: user_id? – blotto