我在Rails中创建了一个消息传递系统,为了显示对话伙伴,我从包含current_user的消息中获取了他们的ID:
Message.where("to_id = ? or user_id = ?", current_user.id, current_user.id)
但是,由于我需要 来自该查询的其他用户ID,我需要选择它,我想选择:to_id
或{{1 } 不等于: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)
答案 0 :(得分:0)
如果您只是想获取ID:
Message.where("to_id = ? or user_id = ?", current_user.id, current_user.id).
map { |m|
m.user_id == current_user.id ? m.to_id : m.user_id
}
这会给你和像
这样的数组# => [3771, 3611, 3749, 3638, 3697, 3786]