1

在 DBIx::Class 中,当我使用以下语法生成查询时:

...
'Time(submitted_at)' => { '>' => 'Time(Now()-Interval ' . $wait_period . ' minute)' }
...

生成的查询是完美的,除了右侧的函数用引号引起来。

... AND ( Time(submitted_at) > 'Time(Now()-Interval 5 minute)' ) ...

如果没有引用,那将是正确的。我该怎么做?

谢谢,罗伯

4

2 回答 2

5

如果要使用文字 SQL,似乎执行表达式的方法是传递标量 ref 或数组ref

$wait_period这是一个示例,显示在表达式中使用变量的查询参数:

...
'Time(submitted_at)' => { '>' => \['Time(Now()-Interval ? Minute)', $wait_period] }
...
于 2009-11-18T20:29:31.207 回答
4

将字符串作为标量引用传递:

...
'Time(submitted_at)' => \"> Time(Now()-Interval $wait_period minute)" 
...
于 2009-11-18T20:25:11.217 回答