我正在就我的 Rose::DB 问题寻求一些帮助,如下所述。
我有一个帐户对象,它有一个整数“accounttype”字段。在本例中,我将使用以下 accounttype 常量:
ACCOUNT_TYPE_SPECIAL_MASK = 0x10;
ACCOUNT_TYPE_SPECIAL_1 = 0x10;
ACCOUNT_TYPE_SPECIAL_2 = 0x11;
ACCOUNT_TYPE_NORMAL_MASK = 0x20;
ACCOUNT_TYPE_NORMAL_1 = 0x20;
ACCOUNT_TYPE_NORMAL_2 = 0x21;
目前,当我想要给定类型的帐户时,我会将它们全部列出并执行以下操作:
my $iter = Test::Account::Manager->get_accounts_iterator(
db => $db,
query =>
[
'accounttype' => [ ACCOUNT_TYPE_SPECIAL_1, ACCOUNT_TYPE_SPECIAL_2 ],
]
);
但是,我希望能够使用适当的掩码查询帐户,而不是指定所有可能的类型。
我想说:
my $iter = Test::Account::Manager->get_accounts_iterator(
db => $db,
query =>
[
'accounttype' => 'accounttype & ACCOUNT_TYPE_SPECIAL_MASK'
]
);
但是,我还没有发现任何方法可以做到这一点。欢迎任何帮助或建议。
谢谢!