Saludos a todos en mi primera intervención :) (con un problemilla claro )
Escenario: Recupero con un find un registro de un modelo llamado Viaje que tiene una relación hasMany con otro llamado Actividad. A su vez Actividad tiene una belongsTo con otro modelo llamado Centro. Siguiendo la asociaciones cake genera una consulta que trae el registro viaje, otra que trae los registros de actividades relacionados y por cada actividad genera otra consulta que trae su centro. Estas últimas consultas fallan porque la clave primaria de centros es textual, y cake no lo entrecomilla, sino que lo trata como un número. Estoy trabajando con cake 1.18 y el driver para Oracle. Investigaciones: buceando en las tripas de cake llego a la función insertQueryData, que obtiene el valor adecuado de la clave del centro, y , aquí lo que no entiendo, se lo pasa a la función value así: $query = r($key, $this->value($val, $model->getColumnType($model- >primaryKey)), $query); O sea, le pasa el valor de la clave y el columntype de la clave primaria del modelo, peeero, es que el modelo que le pasa es ACTIVIDAD, no centro, y claro, como la primaria de actividad es numérica, no entrecomilla $val, que lleva el valor de una clave primaria de centro. ¿? Ejemplo: SELECT ---los campos de centro--- FROM centro Centro WHERE Centro.cencod = {$__cakeForeignKey__$} (antes de llamar a value) 36013904 -- Actividade -- Centro ($val, $model->name, $linkModel- >name) SELECT ---los campos de centro--- FROM centro Centro WHERE Centro.cencod = 36013904 (despues de llamar a value) Antes esto estaba en MySQL y la cosa iba bien, pero porque la función value de dbo_mysql entrecomilla todo, sea numerico o de texto, y la base de datos traga con esto. No sé parece como que debiera pasarle $model->primaryKey o $linkModel- >primaryKey según los casos, pero siempre pasa $model->primaryKey No sé si es bug o es que no acabo de entender la misión de esta función. --~--~---------~--~----~------------~-------~--~----~ 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 CakePHP-es@googlegroups.com 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. -~----------~----~----~----~------~----~------~--~---