On 16 Jan 2007, [EMAIL PROTECTED] wrote: > On 1/15/07, Cory Bennett <[EMAIL PROTECTED]> wrote: > > Ahh, found the magic. > > In Rose::DB::Object::Metadata::Relationship::OneToMany I found the special > > (but buried) 'query_args' variable. So this will do what I want: > > relationships => [ > > prices => { > > type => 'one to many', > > class => 'Price', > > column_map => { id => 'product_id' }, > > query_args => [ > > or => [ > > enddate => undef, > > enddate => { gt => 'now' }, > > ], > > ], > > }, > > ], > > > > Good stuff, thanks!
> Be careful if you ever set this collection of related objects: > $p->prices(@prices); > Doing that will first delete any existing prices where > prices.product_id = product.id and (enddate is null or enddate > > 'now') before inserting the new rows. If that's what you want, fine, > but just be aware of what it will actually do. > (I'm probably going to add a "get" method type for relationships that > does not allow the collection of related objects to be set, just to > have a safer alternative in cases where you never plan to set the > collection.) Maybe this should be in a subclass instead, Rose::DB::Object::Metadata::Collection::OneToMany or something like that? Ted ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Rose-db-object mailing list Rose-db-object@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rose-db-object