[Dbix-class] Per column filter

Moritz Onken onken at houseofdesign.de
Thu Jun 18 12:27:54 GMT 2009


Am 18.06.2009 um 14:18 schrieb Pedro Melo:

> Hi,
>
> I'm wrapping DBIx::Class over a legacy database that uses the  
> iso-8859-1 charset internally. My app expects all perl strings as  
> utf8.
>
> I'm trying to write an extension to DBIC that decodes the value from  
> the DB into utf8, and does the reverse when I insert/update data. At  
> first I tried to use the InflateColumn as the base of this, but it  
> expects a DB -> Object / Object -> DB flow, and cannot support the  
> DB -> scalar / scalar -> DB (at least not on the deflate part).
>
> I was wondering if anybody has any ideas/suggestions on how to do  
> this inside DBIC. I would prefer not to manually encode/decode data  
> I get from the DB.
>
> Basically a setup like the current InflateColumn but that allows  
> scalars to be processed on the deflate step would work, like a filter.

Have a look at store_column which you can override in a result class.
 From the docs:

"This is the lowest level at which data is set on a row object, extend  
this method to catch all data setting methods."

cheers,

moritz



More information about the DBIx-Class mailing list