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

tablas en cakephp

Estas en el tema de tablas en cakephp en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Estoy entiendiendo el modo de trabajo del Framework, y mi duda es las siguiente.. Tengo una tabla llamada "institutos" y lo que quiero es llamarla ...
  #1 (permalink)  
Antiguo 19/08/2012, 21:22
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
tablas en cakephp

Estoy entiendiendo el modo de trabajo del Framework,


y mi duda es las siguiente.. Tengo una tabla llamada "institutos" y lo que quiero es llamarla consultarla haciendo un

Código PHP:

$this
->query("SELECT idinstitucion,nombre FROM institutos ORDER BY nombre ASC"); 
pero cuando los estoy haciendo desde un modelo llamado "postulantes" (osea, no tiene nada que ver el modelo con la tabla ni tampoco hice una relacion)

ahora mi gran duda es.. ¿ En cakephp, cada tabla es un modelo ?

y mi otra duda.. ¿ Hay alguna forma de extraer los datos de una tabla sin tener que relacionarlas ?

Saludos...
  #2 (permalink)  
Antiguo 19/08/2012, 22:25
 
Fecha de Ingreso: julio-2012
Mensajes: 30
Antigüedad: 11 años, 9 meses
Puntos: 7
Respuesta: tablas en cakephp

En un Framework MVC (llámese cakephp, code igniter, etc) por cada tabla debe haber un modelo.

CakePHP ofrece funciones en todos los modelos para realizar las consultas de selección de una forma más sencilla.

No entiendo porque quieres hacer una consulta de selección desde un modelo hacia otro, sin que exista una relación entre ellos. En todo caso sería desde el controlador, en el cual puedes cargar modelos con $this->loadModel y luego utilizar las funciones como el find.

Creo te falta entender un poco más la lógica que hay detrás de separar las tablas en modelos y controladores, ya que de nada sirve un MVC si empiezas a llenar de modelos un controlador (vaya que he visto esta práctica bastante).

Ah, y la función $this->query() te permite realizar cualquier tipo de consulta (delete, update, etc) desde cualquier modelo, ya que la consulta se realiza como si hicieras un mysql_query normal. Pero insisto, creo que estas rompiendo la forma de trabajar de un MVC.
  #3 (permalink)  
Antiguo 20/08/2012, 09:48
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
Respuesta: tablas en cakephp

Hola cvelazquez, a lo que yo me refería que "no hay ningún tipo de relación" es que la tabla 1 con la tabla 2 no tienen ningún campo en común para poder hacer la relación, estuve viendo que se pueden hacer relaciones entre modelos con $hasmany, $belongsto .. etc ..

pero mi duda o pregunta es la siguiente:

" Si yo hago un hasmany de un modelo con otro modelo u otros modelos, ahí si ya podría obtener los datos de las otras tablas (aunque no tengan ningún campo de la tabla de la db en común) ? " ..


Saludos y gracias (de apoco voy entendiendo mas esta filosofía del framework)
  #4 (permalink)  
Antiguo 20/08/2012, 14:05
 
Fecha de Ingreso: agosto-2012
Mensajes: 12
Antigüedad: 11 años, 8 meses
Puntos: 4
Respuesta: tablas en cakephp

Cita:
Iniciado por juan_14nob Ver Mensaje
Hola cvelazquez, a lo que yo me refería que "no hay ningún tipo de relación" es que la tabla 1 con la tabla 2 no tienen ningún campo en común para poder hacer la relación, estuve viendo que se pueden hacer relaciones entre modelos con $hasmany, $belongsto .. etc ..

pero mi duda o pregunta es la siguiente:

" Si yo hago un hasmany de un modelo con otro modelo u otros modelos, ahí si ya podría obtener los datos de las otras tablas (aunque no tengan ningún campo de la tabla de la db en común) ? " ..


Saludos y gracias (de apoco voy entendiendo mas esta filosofía del framework)
si los tienes bien relacionado puedes tener acceso al modelo de la relacion por ejemplo estas e n el modelo Estudiante ($this) que esta relacionado con Profesor y quieres traer todo los profesores en el Modelo Estudiante seria algo como esto

Código PHP:

$profesores 
$this->Profesor->find('all'); // Importante si estas en el controller de estudiante seria como esto $this->Estudiante->Profesor->find('all'); 
saludos!

cualquier duda cakePHP tiene su biblia http://book.cakephp.org
  #5 (permalink)  
Antiguo 22/08/2012, 17:09
Avatar de nes24  
Fecha de Ingreso: julio-2005
Mensajes: 746
Antigüedad: 18 años, 9 meses
Puntos: 3
Respuesta: tablas en cakephp

Esto es lo que tu necesitas :

class GetUser extends UsuariosAppModel {

var $nombre;
var $cc;
var $email;
var $useTable = false;


A mi consideracion no ciempre por cada tabla necesitaras un modelos, entonses seria necesario en cada tabla relacional tener un modelo? R= NO
__________________
No hay nada que foros del web no sepa!!!!

Peca tanto quien presume de su belleza como de su inteligencia, ya que la brevedad de la vida aunque distorcionada siempre estara presente.
  #6 (permalink)  
Antiguo 22/08/2012, 19:42
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
Respuesta: tablas en cakephp

Cita:
Iniciado por nes24 Ver Mensaje
Esto es lo que tu necesitas :

class GetUser extends UsuariosAppModel {

var $nombre;
var $cc;
var $email;
var $useTable = false;


A mi consideracion no ciempre por cada tabla necesitaras un modelos, entonses seria necesario en cada tabla relacional tener un modelo? R= NO



Explicate mejor capo que no entendí lo que quisiste hacer ni por que pusiste esto..

gracias --
  #7 (permalink)  
Antiguo 23/08/2012, 18:24
 
Fecha de Ingreso: febrero-2012
Mensajes: 37
Antigüedad: 12 años, 2 meses
Puntos: 5
Respuesta: tablas en cakephp

Hola

respondiendo a tus preguntas

"{ 1- } ahora mi gran duda es.. ¿ En cakephp, cada tabla es un modelo ?

y mi otra duda.. { 2 - }¿ Hay alguna forma de extraer los datos de una tabla sin tener que relacionarlas ?
"


1- Para que puedas acceder a tus datos con las herramientas que ofrece cakePHP efectivamente debes hacer los modelos para cada tabla y relacionarlas.

docs para versión 2.x http://book.cakephp.org/2.0/en/models.html

2.- Si no están relacionadas las tablas y existe el modelo para dicha tabla entonces puedes usar el $this->loadModel('nombreModelo');

docs: http://book.cakephp.org/2.0/en/controllers.html#Controller::loadModel

Ojo con tus consultas, un query del tipo "$this->query("SELECT idinstitucion,nombre FROM institutos ORDER BY nombre ASC"); " no es para nada recomendable.

Es mejor que crees el modelo para la tabla institutos y le pones $uses = institutos (si asi se llama)

y luego haces la consulta desde el controlador de la forma:

Código PHP:
$this->Institutos->find(all, array('fields'=>array('nombre''id'))); 
http://book.cakephp.org/2.0/en/models/retrieving-your-data.html

Saludos

Etiquetas: cakephp, framework, tablas
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:59.