Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

PROPEL: por que me cambia los nombres de las columnas?

Estas en el tema de PROPEL: por que me cambia los nombres de las columnas? en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Vengo usando Propel para un proyecto pero hay un par de cosas que me sobresaltan. Por ejemplo, si tengo una consulta simple para llenar datos ...
  #1 (permalink)  
Antiguo 17/11/2011, 10:42
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Desacuerdo PROPEL: por que me cambia los nombres de las columnas?

Vengo usando Propel para un proyecto pero hay un par de cosas que me sobresaltan. Por ejemplo, si tengo una consulta simple para llenar datos de un formulario, y pido los resultados como array, lo que obtengo es un indice "camel case", digamos. Así:

$result['MyKey']

En cambio, si luego tengo que alterar esa consulta y hacerla multitabla, con un CRITERIA, los resultados vendran siempre en mayusculas y separados con guiones:

$result['MY_KEY']

Por lo tanto hay que editar todo el formulario, cosa a veces muy tediosa.

Hay alguna manera que yo no conozca para que Propel envie los resultados siempre con el mismo standard?
  #2 (permalink)  
Antiguo 19/11/2011, 10:39
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: PROPEL: por que me cambia los nombres de las columnas?

Me respondo en parte. Una solución puede ser usar alias para las columnas:

Código PHP:
Ver original
  1. $criteria->addAsColumn("id", MediaPeer::M_ID);
  2.         $criteria->addAsColumn("caption", MediaPeer::M_NAME);
  3.         $criteria->addAsColumn("description", MediaPeer::M_DESCRIPTION);

Igual, creo que Propel debe o debería tener un método para devolver los nombres de los campos tal cual están en bd. Si alguien sabe, avise por favor.

Etiquetas: nombres, propel, cambios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:07.