2007/10/25, Lachlan Deck <[EMAIL PROTECTED]>: > > On 25/10/2007, at 11:17 AM, Shagor Ghani wrote: > > > Have a quick question around join tables storing M2M > > relationships. I need > > to store a M2M relationship and created a table for it using > > Property>Join > > in Many-to-Many option from within EOModeler itself. This table > > has two > > columns, id1 and id2, both of which are primary and which together > > produce a > > unique record. In my code, I've been doing creating new rows into > > this > > table using the standard > > object.addObjectToBothSidesOfRelationshipWithKey( > > object, key ) call. Now, though, I also need to store additional > > values > > within this record, for example a boolean bit indicating whether > > the record > > is active or not. How is this done? If I manually add a 3rd > > attribute > > column, what call is then used to update/create new record(s)? > > You have two choices with M2M Join tables. > A<-->>AB<<-->B > > 1) flatten the relationships... so that you're adding to both sides > of relationship two records on either side of the join. Join records > using EOGenericRecord and don't have any logic in them. > > A myA = (A)EOUtilties.createAndInsertInstance(ec, "A"); > B myB = (B)EOUtilties.createAndInsertInstance(ec, "B"); > myA.addObjectToBothSidesOfRelationshipWithKey(myB, "bs");
How this work? Do you need to set the EOmodel in some way? 2) don't flatten the relationships > A myA = (A)EOUtilties.createAndInsertInstance(ec, "A"); > AB myAB = (AB)EOUtilties.createAndInsertInstance(ec, "AB"); > B myB = (B)EOUtilties.createAndInsertInstance(ec, "B"); > > myAB.setSomeOtherKey(...); > myA.addObjectToBothSidesOfRelationshipWithKey(myAB, "abs"); > myAB.addObjectToBothSidesOfRelationshipWithKey(myB, "abs"); > > 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/ildenae%40gmail.com > > This email sent to [EMAIL PROTECTED] > -- Daniele Corti AIM: S0CR4TE5 Messenger: [EMAIL PROTECTED] -- Computers are like air conditioners -- they stop working properly if you open WINDOWS -- What about the four lusers of the apocalypse? I nominate: "advertising", "can't log in", "power switch" and "what backup?" --Alistair Young
_______________________________________________ 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]
