digo que:

CREATE TABLE ventas (
  id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  PRIMARY KEY(id)
);

CREATE TABLE productos (
  id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  PRIMARY KEY(id)
);

CREATE TABLE ventas_productos (
  ventas_FK_id INTEGER UNSIGNED NOT NULL,
  productos_FK_id INTEGER UNSIGNED NOT NULL,
  precio INTEGER UNSIGNED NULL,
  PRIMARY KEY(ventas_FK_id, productos_FK_id),
  INDEX ventas_has_productos_FKIndex1(ventas_FK_id),
  INDEX ventas_has_productos_FKIndex2(productos_FK_id),
  FOREIGN KEY(ventas_FK_id)
    REFERENCES ventas(id)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION,
  FOREIGN KEY(productos_FK_id)
    REFERENCES productos(id)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
);
ventas hasAndBelongsToMany productos
productos hasAndBelongsToMany ventas


si las habtm no estan pensadas para tratar este modelo y no puedes mantener
el precio de venta, quiza el modo de resolverlo sea:

CREATE TABLE ventaproductos (
  id INTEGER UNSIGNED NOT NULL,
  venta_id INTEGER UNSIGNED NOT NULL,
  producto_id INTEGER UNSIGNED NOT NULL,
  precio INTEGER UNSIGNED NULL,
  PRIMARY KEY(id),
  INDEX ventas_has_productos_FKIndex1(venta_id),
  INDEX ventas_has_productos_FKIndex2(producto_id),
  FOREIGN KEY(venta_id)
    REFERENCES ventas(id)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION,
  FOREIGN KEY(producto_id)
    REFERENCES productos(id)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
);

es decir:
ventas hasMany ventaproductos
productos hasMany ventaproductos
ventaproductos belongs ventas
ventaproductos belongs productos

No estoy seguro de las dos ultimas (quiza hasOne)



El día 3/05/07, Ricardo Mun~oz A. <[EMAIL PROTECTED]> escribió:
>
>
> El 2/05/07, felipe martin <[EMAIL PROTECTED]> escribió:
> > Creo haber visto la luz.
> >
> > En ese caso la tabla ventas_productos se convertiria en ventaproductos
> > pasando a ser una tabla normal (con su id) y con relaciones 1:n con las
> > otras dos...
>
> no entendi...
>
> --
> Ricardo Mun~oz A.
>
> >
>


-- 
---------------------------------------------------
Where is the wisdom we have lost in knowledge?
Where is the knowledge we have lost in information?
T.S.Elliot

--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a [email protected]
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~----------~----~----~----~------~----~------~--~---

Responder a