in reply to Re^2: Module for substituting complex criteria into hand-written SQL queries
in thread Module for substituting complex criteria into hand-written SQL queries
There is no reason you can't build your parameters based on runtime conditions:
my $cutoff = time - 86400; my $first_seen_time = {}; if ( $user_wants_dates_before_today ) { $first_seen_time = { '<' => $cutoff, }; } else { $first_seen_time = { '>=' => $cutoff, }; ); my ( $sql, @bind ) = $sqla->select( -columns => 'id, name', -from => 'users', -where => { status => $status, first_seen_time => $first_seen_time, }, );
Also, for another approach, remember that you can insert actual SQL into the parameters to a SQLA call, and you could generate *that* SQL snippet based on your run-time conditions.
Hope this helps!
The way forward always starts with a minimal test.
|
---|
In Section
Seekers of Perl Wisdom