Ruby on rails Rails where/find_都具有多个id,并且都是同一列
您好,我正在寻找一种干净的方法(overide.where方法??)从DB中检索具有相同列的多个ID的多行 例如:Ruby on rails Rails where/find_都具有多个id,并且都是同一列,ruby-on-rails,database,model,Ruby On Rails,Database,Model,您好,我正在寻找一种干净的方法(overide.where方法??)从DB中检索具有相同列的多个ID的多行 例如: # Actual ugly mode args = {} args[:channel] = common_channel args[:writer] = userA args[:receiver] = userB journalsA = Journal.where args args[:writer] = userB args[:receiver] = userA journa
# Actual ugly mode
args = {}
args[:channel] = common_channel
args[:writer] = userA
args[:receiver] = userB
journalsA = Journal.where args
args[:writer] = userB
args[:receiver] = userA
journalsB = Journal.where args
# @journals = journalsA + journalsB
我如何制作这样的东西:Journals.where userA:userA,userB:userB,channel:x
whereuser(A | B)
同时指向writer
和receiver
我是否需要使用自定义SQL行或存在一些奇特的rails方法来实现这一点。我想你可以把你的问题想象成:你能在rails中编写一个或查询吗?答案是肯定的,但对于SQL片段:
Journal.where(channel: common_channel).where('(writer = ? AND receiver = ?) OR (writer = ? AND receiver = ?)', userA, userB, userB, userA)