From: John H. <joh...@gm...> - 2011-11-02 14:14:26
|
I would guess it is because you have to-many relationships. Perhaps "contains" would be better than "equals"? If you get that keypath, what is the result: someTransactions.valueForKeyPath("lines.items.account") == ? John On Wed, Nov 2, 2011 at 8:33 AM, Giles Palmer <li...@ce...> wrote: > Hi > > I have a relationship as follows... > > transaction->>lines->>items-->account > > If I construct a qualifier like... > > qualifier = ERXQ.equals("lines.items.account",anAccount) > > and then use it with a fetchSpec as... > > EOFetchSpecification fetchSpec = new > EOFetchSpecification(_Transaction.ENTITY_NAME, qualifier, null); > fetchSpec.setUsesDistinct(true); > NSArray<Transaction> transactions = > editingContext().objectsWithFetchSpecification(fetchSpec); > > All works as expected and any transactions whose relationships ultimately > point to "anAccount" get returned. > > My problem is when I use the same qualifier to filter an existing array of > transactions in memory... > > qualifier = ERXQ.equals("lines.items.account",anAccount) > > NSArray<Transaction> transactions = > EOQualifier.filteredArrayWithQualifier(someTransactions, qualifier); > > In this case the qualifier does not seem to filter the transaction in > "someTransactions" to match "anAccount". > > I was expecting this to work just the same as it would when used with a > fetchSpec but it doesn't. What have I misunderstood? Can we filter in > memory like this? > > Thanks > > Giles > > ------------------------------------------------------------------------------ > RSA® Conference 2012 > Save $700 by Nov 18 > Register now! > http://p.sf.net/sfu/rsa-sfdev2dev1 > _______________________________________________ > Wonder-disc mailing list > Won...@li... > https://lists.sourceforge.net/lists/listinfo/wonder-disc > |