On 5/17/07, Michael Reece <[EMAIL PROTECTED]> wrote:
> my $count = $collection->count_assets_published(
> [ \'t2.pubdate >= NOW() - INTERVAL ? DAY' => $num_days ] #
> );
>
> i can't refer to 'asset.pubdate' in this query param, because RDBOM
> insists i use a scalar-ref here, and wisely avoids doing
> substitutions when handed a scalar-ref, and mysql won't let me refer
> to the table by its real name once it has been aliased.. since the
> generated query aliases asset as t2, i have to use t2 here, though
> not elsewhere. needless to day, it's a little confusing, especially
> to future-maintenance-programmer.
>
> any advice?
Two suggestions:
1. Filter $num_days to ensure it contains only integers, then add a
query parameter like this:
'asset.pubdate' => { ge_sql => "NOW() - INTERVAL $num_days DAY" }
2. Calculate "NOW() - INTERVAL $num_days DAY" as a DateTime object and
then add a standard query param:
'asset.pubdate' => { ge => $dt }
> seems common enough, so maybe there is already a convenient way to merge
> manager args in this case?
Not really, just standard Perl for merging arrays and so on.
-John
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Rose-db-object mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rose-db-object