Ver Mensaje Individual
  #5 (permalink)  
Antiguo 14/04/2011, 08:48
Avatar de destor77
destor77
 
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 20 años, 1 mes
Puntos: 43
Respuesta: Duda con ORM casero

Cita:
Iniciado por masterpuppet Ver Mensaje
Que tal destor77,

No entiendo bien el problema que tenes, pero si el software que estas utilizando para diseñar la bbdd te esta creando claves compuestas con las que son foraneas, directamente no utilices el programa, me podrías decir cual es ? y el problema cual es exactamente ?
Como dije arriba el problema lo tengo cuando en mi tabla hay mas de una clave primaria. Yo uso MySQL Workbench 5.2 CE para el diseño de las base de datos. Y cuando hago una relacion de 1:N entre dos tablas, donde esta la clave foránea me pone 2 claves primarias por ejemplo si yo armo una relacion entre 2 tablas así:




y despues cuando lo exporto a phpmyadmin me queda así:




como verás me crea dos claves primaría y mi clase siempre me toma la segunda, en caso de tener mas claves me toma siempre la última.

Cita:
Iniciado por masterpuppet Ver Mensaje
le queres agregar soporte para claves compuestas a tu AR ?
si la idea es que pueda soportar claves compuesta y que pueda identificar cual es la mas importante, por ejemplo un id autoincremental respecto de otra clave.

Cita:
Iniciado por masterpuppet Ver Mensaje
Fuera de todo esto, a no ser que tus modelos sean simples y las relaciones sean muy básicas, te sugiero que utilices Doctrine, crear un ORM, no es una tarea simple es algo muy complejo.
Analicé de usar doctine, pero no me gusto para nada eso de tener que andar seteando los campos de la tabla en la clase. En http://www.doctrine-project.org/proj...n-to-models/en los ejemplos que muestra hay que crear al menos 3 clases por tabla. Si bien no busco competir con doctrine jajaja, lo que busco es ahorrar tiempo de codificación/configuración.
Y si por el momento mis tablas y relaciones son muy basica, a lo sumo relaciones entre 2 a 4 tablas como mucho.

Saludos