如何在get Manager调用中为查询传递变量?

时间:2013-02-03 22:44:02

标签: perl mason rose-db-object

我正在尝试制作一个简单的Rose DB调用: $ id = xyz; $ name =“company”;

DataB::testTable::Manager->get_testTable( query =>[ id => $id, name => $name ] );

可能不会每次都写入整个查询,并将其声明为字符串变量,以便我可以调用

DataB::testTable::Manager->get_testTable( query =>[ $query ] );

其中$ query = qq {id => $ id,name => $ name};

请帮助

2 个答案:

答案 0 :(得分:0)

根据你的问题我理解,我给出了这个答案。 试试这个。

<击>

<击>
my $myquery = {query =>{ id=>$id, name=>$name }} ;

TGI::testTable::Manager->get_testTable($myquery);

<击>

希望,这给你一些想法。

编辑“带阵列参考的哈希”:

my $myquery = [ id=>$id, name=>$name ] ;

TGI::testTable::Manager->get_testTable(query => $myquery);

看看这个:How to pass a a string variable as "query" for get Manager call?

答案 1 :(得分:0)

实际上,我知道如何做到这一点。它并不复杂。唯一的事情是RoseDB对象期望查询的数组引用。所以这样的事情有效:

我的@query =(id =&gt; $ id,name =&gt; $ name);

testDB::testTable::Manager->get_testTable( query => \@query );

只是想到会自己回答,因为有些人正在寻找解决方案