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

[CakePHP] Problema MySQL

Estas en el tema de [CakePHP] Problema MySQL en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola, estoy peleandome con los JOINS hace rato con cakephp y no logro dar con una solucion. Si yo hago esto: Código HTML: SELECT Categoria.nombre ...
  #1 (permalink)  
Antiguo 23/02/2010, 09:04
 
Fecha de Ingreso: diciembre-2009
Mensajes: 20
Antigüedad: 14 años, 4 meses
Puntos: 1
Pregunta [CakePHP] Problema MySQL

Hola, estoy peleandome con los JOINS hace rato con cakephp y no logro dar con una solucion.

Si yo hago esto:

Código HTML:
SELECT
Categoria.nombre AS catNombre, Producto.nombre, Producto.precio, Producto.destacado, Producto.created, Producto.id

FROM
productos AS Producto

INNER JOIN
categorias AS Categoria ON Producto.categoriaID = Categoria.id
Me devuelve, todos los datos del Producto Y catNombre de la tabla de categoria, sinembargo en cakePHP cuando hago lo mismo con la funcion query o find, me devuelve solo los de Producto, alguna solucion para que tambien me devuelva el nombre de la categoria?
  #2 (permalink)  
Antiguo 23/02/2010, 09:12
 
Fecha de Ingreso: diciembre-2009
Mensajes: 20
Antigüedad: 14 años, 4 meses
Puntos: 1
Respuesta: [CakePHP] Problema MySQL

YA LO SOLUCIONE!!!

Era tan simple como darme cuenta que te crea un array con el nombre de la tabla... error pavo...

si queria mostrarlo ponia...
Código PHP:
$variable['Categoria']['Nombre'
y no $variable['Producto']['cateNombre']

Ahora me pregunto... como pagino esto??

Código PHP:
$options['joins'] = array(array('table' => 'categorias','alias' => 'Categoria','type' => 'INNER','conditions' => array('Producto.categoriaID = Categoria.id')));
$options['fields'] = array('id','nombre','precio','destacado','created','Categoria.nombre');
$this->set('productos'$this->Producto->find('all',$options)); 

Última edición por MaTy09; 23/02/2010 a las 09:21

Etiquetas: cakephp, mysql
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 12:13.