• 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: Many to many relationship... some problem
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Many to many relationship... some problem


  • Subject: Re: Many to many relationship... some problem
  • From: Ray Kiddy <email@hidden>
  • Date: Fri, 7 Aug 2009 16:35:23 -0700


On Aug 4, 2009, at 6:16 AM, Francesco Romano wrote:

And.. if I change to this ?

Product <->> LineItem <<-> Cart

And Cart is linked to:
Cart <<-> Customer
Cart <-> Order

The customer and order foreign keys are both optional and both inside the Cart Entity.
So.. if a user want to save a cart (and not place an order) I link the cart directly to a customer.
If the user want to place the order, the cart is linked to the order and unlinked from the customer (this because Order <<-> Customer)



What do you think? Can this be correct?


EOF tends not to like having a to-one optional method. It would be more in "the EOF way" if the Cart and Order, which are one-to-one to each other, share pks and presumably the Cart would propagate pk to the Order and Cart would own the Order.


When I want to do a optional to-one, I end up doing a optional to-many in the EOModel and then I implement a setter and getter in the business logic. So there would be a "orders" relationship in the Cart entity, but a method in the Cart object would be:

  public Order order() { return this.orders.get(0); }

and do the right thing in the setter. Something like:

 public void setOrder(Object value) {
    if (orders.count() > 0) { /* the remove it */ }
    orders.addToRel(value);
}

cheers - ray


Francesco

On 04/ago/09, at 11:32, Amedeo Mantica wrote:


On 03/ago/09, at 19:45, Francesco Romano wrote:

Ok.. I'll postpone this,,

Now.. for the model I was thinking at this:

Order <->> LineItem(has quantity as attribute) << - >Product
This should solve the to-many problem..

To save the cart... I thought to:
Customer <->> LineItem
Or:
Customer <-> Cart <->> LineItem
(Cart entity is useless, but I can add a LastUpdated date ...)

What do you think?


as a first rapid look seem to be ok Ciao Amedeo

On 03/ago/09, at 19:02, Amedeo Mantica wrote:

you can do it via webobjects but is a bit "hard"

is more easy to do a call to a directaction using "curl" sheduled via launchd or cron

Regards
Amedeo

On 03/ago/09, at 18:51, Francesco Romano wrote:

On 03/ago/09, at 18:49, Amedeo Mantica wrote:


On 03/ago/09, at 18:40, Francesco Romano wrote:


On 03/ago/09, at 18:29, Amedeo Mantica wrote:

why do you want to put the quantity in that table ???

leave the relationship alone

create a table " cart " with a relationship to product and a column quantity.

then create a relationship cart to order

Regards
Amedeo


Because I was thinking to save the cart in the cookies.. Should I save the cart of every customer even if they don't place an order? (this is a question.. I don't know how things work..)

yes, so you can give customers choice to save cart and finish order later, if the order is not finished within some days you trash the cart


Amedeo

Yeah.. I have to change the model a bit :p
Btw.. how can I trash the cart automatically? Is it possible with WO?


Francesco
On 03/ago/09, at 18:16, Francesco Romano wrote:

On 03/ago/09, at 18:04, Lachlan Deck wrote:

On 04/08/2009, at 1:39 AM, Francesco Romano wrote:

On 03/ago/09, at 16:10, Lachlan Deck wrote:

On 03/08/2009, at 7:21 PM, Francesco Romano wrote:

Hi..
I'm having some problem with a many-to-many relationship.
I've two entities: Order and Product.
They have a many-to-many relationship, and an attribute: quantity.
The strange thing is that I don't see the OrderProduct model generated...

Check the value of Class Name in the model. It's probably EOGenericRecord. Change it to you.model.OrderProduct

You are right.. Now I see the class


Well.. to be honest I don't understand how many-to-many works... (In WO.. I know the "DB-theory")...

OrderProduct orderProduct = (OrderProduct)EOUtilities.createAndInsertInstance(ec, OrderProduct.ENTITY_NAME);
// or
OrderProduct orderProduct = OrderProduct.createOrderProduct(ec, product, order);
orderProduct.setQuantity(quantity);


ec.saveChanges();

Little problem.. the only method createOrderProduct has as arguments: editingContext, quantity.

1) Your OrderProduct should (usually) have a compound primary key. (orderID, productID). Both keys shouldn't allow null. Both relationships (order, product) should be manditory. Then regenerate your class.

I attach an image.. it's the OrderProduct entity. <Picture 1.png>

So.. I can't set it's pks.

2) This is good. :-) You're dealing with objects now, not database artifacts like pks and foreign keys. You'll be setting object relationships not pk/fk relationships.


Simply fetch the product/order _objects_ and
orderProduct.setOrder(order);
orderProduct.setProduct(product);


With pks I meant that I don't have the setProduct and setOrder method (and in the constructor).


with regards,
--

Lachlan Deck


_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden )
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden





_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (email@hidden) Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden



_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (email@hidden) Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden



_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (email@hidden) Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
  • Follow-Ups:
    • Re: Many to many relationship... some problem
      • From: Francesco Romano <email@hidden>
References: 
 >Many to many relationship... some problem (From: Francesco Romano <email@hidden>)
 >Re: Many to many relationship... some problem (From: Lachlan Deck <email@hidden>)
 >Re: Many to many relationship... some problem (From: Francesco Romano <email@hidden>)
 >Re: Many to many relationship... some problem (From: Lachlan Deck <email@hidden>)
 >Re: Many to many relationship... some problem (From: Francesco Romano <email@hidden>)
 >Re: Many to many relationship... some problem (From: Amedeo Mantica <email@hidden>)
 >Re: Many to many relationship... some problem (From: Amedeo Mantica <email@hidden>)
 >Re: Many to many relationship... some problem (From: Francesco Romano <email@hidden>)
 >Re: Many to many relationship... some problem (From: Amedeo Mantica <email@hidden>)
 >Re: Many to many relationship... some problem (From: Francesco Romano <email@hidden>)
 >Re: Many to many relationship... some problem (From: Amedeo Mantica <email@hidden>)
 >Re: Many to many relationship... some problem (From: Francesco Romano <email@hidden>)

  • Prev by Date: Missing Contents in Resource Manager / URLs
  • Next by Date: when db schema changes... al goes wrong
  • Previous by thread: Re: Many to many relationship... some problem
  • Next by thread: Re: Many to many relationship... some problem
  • Index(es):
    • Date
    • Thread