是否可以使用datamapper进行"where in"查询?

hyu*_*yun 4 ruby ruby-datamapper

我想获得一个与datamapper中指定ID匹配的对象列表.

我知道我可以使用多个' '条件,但id的列表可以是数百个.

是否有一个datamapper命令,它等同于以下的sql?

select * from table where id in (1,2,3,4,5)
Run Code Online (Sandbox Code Playgroud)

muf*_*sta 10

您可以!它看起来像这样:

users = User.all(:id => [1,2,3])
Run Code Online (Sandbox Code Playgroud)

编辑:你可以在dith-coregithub页面上看到这个:

  # If the value of a pair is an Array, we do an IN-clause for you.
  Person.all(:name.like => 'S%', :id => [ 1, 2, 3, 4, 5 ])

  # Does a NOT IN () clause for you.
  Person.all(:name.not => [ 'bob', 'rick', 'steve' ])
Run Code Online (Sandbox Code Playgroud)

  • DM monkeypatches Symbol?egads. (2认同)