Hi there,

On 21/03/2006, at 8:31 PM, Fabrice Pipart wrote:

I have a question that seems simple but I did not find any accurate information on this...
Is it possible to fetch EOs the following way :

childEc = new EOEditingContext(session().defaultEditingContext());
EOUtilities.createAndInsertInstance(childEc, "Day");
childEc.saveChanges();
EOFetchSpecification fs = new EOFetchSpecification("Day", qual, null);
NSArray days = childEc.objectsWithFetchSpecification(fs);

Should I be able to fetch the objects?
In my case it does not work.
It only works if I do a saveChanges on the parent ec (when then objects are really written in database), which of course I do not want to do.

Is this normal?

As Ken mentioned, this is normal. But here's the easy way to get what you want...

EOEditingContext childEc;
NSMutableSet days;
EOFetchSpecification fs;
EOQualifier qual; // assume exists

childEc = new EOEditingContext(session().defaultEditingContext());
days = new NSMutableSet();

days.addObject(EOUtilities.createAndInsertInstance(childEc, "Day"));

fs = new EOFetchSpecification("Day", qual, null);
days.addObjectsFromArray(childEc.objectsWithFetchSpecification(fs));

try {
        childEc.saveChanges();
        parentEc.saveChanges();
} catch(...) {

}

Is there a way to fetch those objects anyway? or I should just keep an array of them and look for the EO I am looking for in a "for" loop ?

To find the object you're looking for you have the option of using an in-memory EOQualifier operation. e.g., EOQualifier.filteredArrayFromQualifier(days.allObjects(), qual);

The above approach would be better (as it'll find all objects satisfying the qualifier), but, if you're certain there's no duplicates, another option would be to use something like:
NSArray eoDays = days.allObjects();
int index = ((NSArray)eoDays.valueForKey("name")).indexOfObject ("Tuesday");
Day day = eoDays.objectAtIndex(index);

with regards,
--

Lachlan Deck


_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to