Mit*_*sey 6 activerecord ruby-on-rails bitmask
我有一个带有位掩码字段的用户表,其中包含一个权限掩码.在本地,我可以通过执行位掩码来确定用户是否具有某种权限(UserPermissions&Perm)==Perm.但是,我希望能够发布一个find_by_mask或类似的东西,也许使用一个:conditions,但我似乎无法找到如何查询数据库以检索具有匹配权限掩码的用户列表.
使用ActiveRecord的任何想法?
具体来说,这必须使用sqlite和postgres
Sea*_*ell 13
在我看来,理智的做法是将你的bitmask字段分成一系列布尔字段.在关系数据库中存储位掩码与在字段中存储分隔列表相差不远 - 它是边界非规范化.
也就是说,您可以在SQL查询中使用&运算符,这样您就可以说:
User.where('permissions & ? > 0', Perm)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2750 次 |
| 最近记录: |