Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/03/2012, 19:04
arhego
 
Fecha de Ingreso: febrero-2012
Mensajes: 37
Antigüedad: 12 años, 9 meses
Puntos: 5
Respuesta: Novato, usar varias tablas en una vista

Hola, para la primer pregunta "como hago una vista que tome registros de mas de una tabla?" lo que tengo entendido es que la vista no toma los registros directamente, al ser MVC el controller se encarga de buscar los datos que presentará la vista y entonces hace el $this->set('nombre', $valor); para que desde la vista pueda ser leido.

Entonces si desde el controlador necesitas registros de varias tablas y si estas tablas están relacionadas entre si y tus modelos tienen dichas relaciones con un $this->Tabla->find('all'); será suficiente para que te traiga la información de la tabla y las tablas relacionadas.

Ahora que si tu $recursive esta en un nivel bajo que no lo haga automático, puedes hacerlo también con $this->loadModel('NombreTabla'); y con eso se hace el forzado a cargar la tabla, y nuevamente utilizas el $this->Tabla->find para traer datos relacionados, ya que te devuelva la información lo que tienes que hacer es un $this->set('nombre', $valor); y en tu vista leer if(isset($nombre)) pr($nombre);

La segunda pregunta "Y por otro lado como hago juegos de registros relacionados como post y categorías donde cada post pertenece a una categoría" no me quedó muy clara del todo, lo que entiendo es que quieres guardar un post con su respectiva categoria, de ser así lo primero que se necesita es que en la base de datos tengan su correspondiente relación de llave foránea entre post y categoria, luego en los modelos debes establecer las relaciones belongsTo o hasOne correspondientes, luego en tu formulario cuando creas el input pones modelo.campo para que en $this->data aparezca tal cual lo quieras guardar, entonces puedes usar $this->save('all') para guardar tus datos.

Saludos, espero haberme explicado y que te sea de utilidad.