[Dbix-class] Database generic dates in where clause

Moritz Onken onken at houseofdesign.de
Thu Jul 2 07:41:15 GMT 2009


Am 02.07.2009 um 07:08 schrieb Peter Rabbitson:

> Dan Horne wrote:
>> Hi
>>
>> Perhaps I'm using the wrong query when searching the archive, but I
>> can't find a way to use non-db-specfic dates in a where clause.  
>> Since my
>> date columns are defined as dateinflating/deflating, I hoping I could
>> use DateTime objects, but I'm guess that only happens when dates are
>> retrieved or inserted:
>>
>>    my $processes = $schema->resultset('Process')->search(
>> {date_created => {
>>            '>=' => $dt_min_date,
>>   '<=' => $sdt_max_date
>> }}
>>    );
>>
>> However, the DT objects are simply stringified. So is there a DB  
>> generic
>> way?
>
> http://rt.cpan.org/Public/Bug/Display.html?id=43075 Or in other  
> words -
> you have to do it manually for now. I'm sorry.

What you can do is to call the datetime_parser of the storage engine.
That's pretty close to what you want:


my $string = $schema->storage->datetime_parser- 
 >format_datetime(DateTime->now);


moritz



More information about the DBIx-Class mailing list