我有一个用户表(数据映射器模型),它有一个名为的列permission
,其中包含位掩码值。
property :permission, Flag[:perm1, :perm2, :perm3]
我想找到所有有一定权限的用户,比如perm1和perm2
所以我打电话,
User.all(:permission => [:perm1, :perm2])
这使得查询
select * from user where permission = 3
这是不正确的。虽然正确的查询应该是(因为它是类型 - flag
)
select * from user where permission &1 != 0 and permission &2 != 0
有没有人在 ruby datamapper 中,如何调用在标志值中进行搜索。