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
[email protected]
https://lists.sourceforge.net/lists/listinfo/rose-db-object