gpt4 book ai didi

sql - Ruby datamapper - 搜索标志值

转载 作者:太空宇宙 更新时间:2023-11-03 16:05:02 24 4
gpt4 key购买 nike

我有一个用户表(datamapper 模型),它有一个名为 permission 的列,其中包含位掩码值。


属性:权限,标志[:perm1,:perm2,:perm3]

我想找出所有拥有一定权限的用户,比如perm1和perm2

所以我打电话,

User.all(:permission => [:perm1, :perm2])

这使得查询

select * from user where permission = 3 这是不正确的。而正确的查询应该是(因为它是类型 - flag)

select * from user where permission &1 != 0 和 permission &2 != 0

ruby datamapper 中的任何人,如何调用以搜索标志值。

最佳答案

我找不到任何直接的方法来做到这一点。所以确实使用了这个 hack。

User.all(:conditions => ['permission & ? != 0 and permission & ? != 0', 1,2])

关于sql - Ruby datamapper - 搜索标志值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15841785/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com