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

Problema con nombre de la tabla en kumbia

Estas en el tema de Problema con nombre de la tabla en kumbia en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Buen día compañeros, Mi problema reside en lo siguiente, tengo una tabla llamada persona_por_area así que cree el modelo personal_por_area.php y contiene lo siguiente: <?php ...
  #1 (permalink)  
Antiguo 11/01/2011, 20:45
Avatar de miltonv_mhv  
Fecha de Ingreso: enero-2011
Ubicación: Quito
Mensajes: 8
Antigüedad: 13 años, 10 meses
Puntos: 0
Pregunta Problema con nombre de la tabla en kumbia

Buen día compañeros,

Mi problema reside en lo siguiente, tengo una tabla llamada persona_por_area así que cree el modelo personal_por_area.php y contiene lo siguiente:

<?php
class Personal_Por_Area extends ActiveRecord{

public function getAreas($id_personal){
return $this->find('columns: personal_por_area.are_id, area.are_nombre',
'join: inner join personal_por_area on personal_por_area.are_id = area.are_id',
'where: personal_por_area.per_id = '.$id_personal,
'order: area.are_nombre');
}

}
?>

pero al momento de llamar al modelo me sale lo siguiente:

Fatal error: Class 'PersonalPorArea' not found in /opt/lampp/htdocs/CENIT/core/kumbia/load.php on line 173

Me imagino que es por los guiones bajos en el nombre pero no se que hacer, necesito ayuda por favor

PD: no puedo cambiar el nombre de la tabla y tengo muchas tablas con guiones bajos debido a que mysql al momento de crear los nombres pone _ en los espacios entre palabras del nombre de las tablas.
  #2 (permalink)  
Antiguo 11/01/2011, 21:04
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Problema con nombre de la tabla en kumbia

No tengo ni idea de Kumbia, pero como llamas al modelo ? con new Personal_Por_Area ?, igualmente la clase ActiveRecord debería tener una propiedad para harcodear el nombre de la tabla relacionada con el modelo.

Saludos.
  #3 (permalink)  
Antiguo 11/01/2011, 21:44
Avatar de miltonv_mhv  
Fecha de Ingreso: enero-2011
Ubicación: Quito
Mensajes: 8
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Problema con nombre de la tabla en kumbia

Gracias por responder.

Bueno en kumbia se llama así a los modelos: Load::models('personal_por_area');

Pero el problema es que al momento de leer el controlador con su función(kumbia es MVC) ya me sale el error. Si te fijas en el error es como si kumbia quitara los _ del nombre de la clase.

Me puedes explicar eso de harcodear??
  #4 (permalink)  
Antiguo 12/01/2011, 05:41
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Problema con nombre de la tabla en kumbia

El Loader hace un camelcase, al hacer esto te obliga a que tus modelos tengan este formato(camelcased), la clase ActiveRecord tiene una propiedad $source, la cual deberias redefinir para mapear con la tabla, seria algo asi:

Código PHP:
Ver original
  1. <?php
  2. class PersonalPorArea extends ActiveRecord
  3. {
  4.    protected $source = 'personal_por_area';
  5.  
  6.    public function getAreas($id_personal)
  7.    {
  8.       return $this->find('columns: personal_por_area.are_id, area.are_nombre',
  9.          'join: inner join personal_por_area on personal_por_area.are_id = area.are_id',
  10.          'where: personal_por_area.per_id = '.$id_personal,
  11.          'order: area.are_nombre');
  12.    }   
  13. }

Última edición por masterpuppet; 12/01/2011 a las 07:20 Razón: Aclaración

Etiquetas: clases, class, kumbia, load, modelos, nombre, 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 23:14.