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.
-~----------~----~----~----~------~----~------~--~---