• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Core Data request predicates and to-many relationships
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Core Data request predicates and to-many relationships


  • Subject: Re: Core Data request predicates and to-many relationships
  • From: "Melissa J. Turner" <email@hidden>
  • Date: Mon, 8 Dec 2008 14:07:24 -0800


On Dec 6, 2008, at 01:45, Luke Evans wrote:

If there are any NSPredicate gurus out there, I'm scratching my head on this one:

I have an entity that can optionally have a set of attributes (name- value pairs). This is set up in the model as a optional to-many relationship to an attribute entity.
Now, I want to fetch the list of managed objects of this entity whose attributes exactly match a dictionary that is passed. The predicate for this needs to filter the objects that have all the required attributes; matching both the name, and value for each attribute.


At this point I'm not seeing how you can code this in a predicate. If I AND some clauses like:
...ANY attr.name == %@ AND ANY attr.value == %@...
for each attribute I'm testing for, then AFAICS I'm not testing that the _same_ attr has the name and value.


I wondered about:
...ANY (attr.name == %@ AND attr.value == %@)...
but this doesn't appear to be legal syntax.

I'm still experimenting, but if anyone knows how to express a query that allows multiple clauses on the _same_ entity across a to-many relationship I'd appreciate a clue!

Cheers

Luke

If you're targetting 10.5 or later, there's a subquery expression in the predicates that was added to support this kind of query. The syntax for what you're doing would be:


SUBQUERY(toMany, $each, $each.name == %@ AND $each.value = %@).@count > 0

Note that this is on the list of expensive predicate operations, so it should be towards the end of a compound predicate.

Cheers,
+Melissa

_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: Core Data request predicates and to-many relationships
      • From: Luke Evans <email@hidden>
References: 
 >Core Data request predicates and to-many relationships (From: Luke Evans <email@hidden>)

  • Prev by Date: Re: NSDictionary mutability test
  • Next by Date: Re: NSDictionary mutability test
  • Previous by thread: Core Data request predicates and to-many relationships
  • Next by thread: Re: Core Data request predicates and to-many relationships
  • Index(es):
    • Date
    • Thread