Pregunta acerca del controlador

14 views
Skip to first unread message

Roman

unread,
Feb 1, 2010, 11:14:26 AM2/1/10
to KumbiaPHP Framework
Hola tengo cierto tiempo desarrollando en Kumbia sin embargo es la
primera vez que me topo con un problema como el actual
tengo un controlador que me realiza la busqueda de los datos de
distintas tablas si realizo una conexion y un sql query el controlador
envia la informacion perfectamente sin embargo si coloco otro query
llamemos query2 me genera el siguiente error


KumbiaException: al ejecutar <em>'select * from datossocioeconomicos
as DS, cursopatriota as CP where DS.patriota_id = CP.patriota_id and
CP.id = '83''</em> (0)

En el archivo /var/www/robinson_roman/core/libs/db/adapters/pgsql.php
en la línea: 152


mi pregunta: el controlador no soporta la doble busqueda?


En mi controlador lo tengo asi

$this->set_response("view");
$db = DbBase::raw_connect();
$db->query("Select PA.nombre as nombre_pa, P.id as id_patriota, P.*,
C.fecha_inicio as fecha_inicio, C.fecha_fin as fecha_fin, C.nombre as
nombre_c, A.nombre as nombre_a, F.nombre as nombre_f, F.apellidos as
apellido_f, DA.*, CF.* from ambiente as A, facilitador as F, parroquia
as PA, patriota as P, cursopatriota as CP, curso as C,
datossocioeconomicos as DA, cargafamiliar as CF where PA.id =
P.parroquia_id and CP.curso_id = C.id and C.ambiente_id = A.id and
C.facilitador_id = F.id and CP.patriota_id = P.id and DA.patriota_id =
CP.patriota_id and CF.patriota_id = CP.patriota_id and CP.id =
'$id'");
$this->patriotas = $db;

$db2->query("select * from datossocioeconomicos as DS, cursopatriota
as CP where DS.patriota_id = CP.patriota_id and CP.id = '$id'");
$this->datos = $db2;

Al comentar las 3 ultimas lineas funciona (no genera el error) pero
requiero los datos en otro sql puesto que si lo coloco en el primero
me genera informacion repetida

Tambien intente cerrando la conexion y abriendo una nueva y me genera
el mismo error


Fidel Oyarzo

unread,
Feb 1, 2010, 11:18:27 AM2/1/10
to kum...@googlegroups.com
y la conexion del db2??



--
Viva KumbiaPHP Framework!
 http://www.kumbiaphp.com/
 Ha recibido este mensaje porque está suscrito a Grupo "KumbiaPHP Framework" de Grupos de Google.
 Para obtener más opciones, visita este grupo en http://groups.google.com/group/kumbia?hl=es.


ingjuanfelipe

unread,
Feb 1, 2010, 11:19:15 AM2/1/10
to KumbiaPHP Framework
No deberías hacer esas consultas en el controlador, para eso están los
modelos, haz una función en un modelo que te genere toda la info que
necesitas y luego se la pasas al controlador y el controlador a la
vista, esa es la forma.

Deivinson Tejeda

unread,
Feb 1, 2010, 11:34:09 AM2/1/10
to kum...@googlegroups.com
Hola Roman, ese SQL iria mejor en un Modelo y via metodo lo accedes desde el controller y utilizando el metodo find_all_by_sql.. te dejo un pequeno ejemplo para ilustrarte lo que te digo...

class Model extends ActiveRecord
{
    public function test()
    {
         return $this->find_all_by_sql("select * from xxx");
    }
}

Desde tu controller solo llamas a ese metodo y no queda atado tu modelo al controller que es el problema que tendras mas adelante de forma como estas trabajando tu logica de negocio, se te hara mas dificil escalar y peor aun si llegases a necesitar esta misma consulta en otro sitio de tu aplicacion tendras que copiar el codigo que haz hecho...

Te dejo un enlace que te sirve para entender un poco mas el funcionamiento de los Modelo...


Éxitos!

2010/2/1 ingjuanfelipe <ingjua...@gmail.com>
--
Viva KumbiaPHP Framework!
 http://www.kumbiaphp.com/
 Ha recibido este mensaje porque está suscrito a Grupo "KumbiaPHP Framework" de Grupos de Google.
 Para obtener más opciones, visita este grupo en http://groups.google.com/group/kumbia?hl=es.



--
Deivinson Tejeda (CaChi)
KumbiaPHP Framework Developer
http://www.kumbiaphp.com

Twitter @DeivinsonTejeda
Reply all
Reply to author
Forward
0 new messages