Hola, estoy uniendo muchas tablas para generar un reporte, no obstante me da una excepción Zend_Db acerca de que NO existe un campo llamado tipo_movimiento, sin embargo ya lo trate de agregar a la lista YA que el campo se llama "nombre" pero use el Alias "as" para renombrarlo a "tipo_movimiento"
Código PHP:
$clientes = $this->select()->setIntegrityCheck(false);
$solicitedData = array('distinct(Asegurados.id_asegurado) as id_asegurado',
'Clientes.id_cliente as id_cliente',
'Clientes.nombre_empresa as nombre_empresa',
'Clientes_Subgrupos.id_grupo as id_grupo',
'Clientes_Subgrupos.nombre_grupo as nombre_grupo',
'Clientes_Subgrupos.numero_poliza as numero_poliza',
'Clientes_Subgrupos.fecha_inicio_vigencia as fecha_inicio_vigencia',
'Clientes_Subgrupos.fecha_fin_vigencia as fecha_fin_vigencia',
'Clientes_Categorias.id_categoria as id_categoria',
'Clientes_Categorias.categoria as categoria',
'Asegurados.nombre_completo as nombre_asegurado',
'Asegurados.nombre_completo as nombre_completo',
'Asegurados.fecha_nac as fecha_nacimiento',
'Asegurados.fecha_nac as fecha_nac',
'Asegurados.email',
'Asegurados.sexo as sexo',
'Asegurados.vip as vip',
'Aseguradoras.id_aseguradora as id_aseguradora',
'Aseguradoras.aseguradora as aseguradora',
'Catalogo_Atiende.nombre as atiende',
'Asegurado_Movimientos.idasegurado_movimientos as idasegurado_movimientos',
'Asegurado_Movimientos.descripcion_movimiento as descripcion_movimiento',
'Asegurado_Movimientos.no_folio as no_folio',
'Asegurado_Movimientos.array_map as array_map',
'Categorias_Asegurado.id_categorias_asegurado as id_categorias_asegurado',
'Categorias_Asegurado.certificado as certificado',
'Categorias_Asegurado.fecha_baja as fecha_baja',
'Categorias_Asegurado.parentesco as parentesco',
'Categorias_Asegurado.id_parent as id_parent',
'Categorias_Asegurado.fecha_inicio_vigencia',
'Asegurados.fecha_antiguedad as fecha_antiguedad');
$clientes->from($this,$solicitedData);
$clientes->joinInner('Categorias_Asegurado','Categorias_Asegurado.id_asegurado=Asegurados.id_asegurado','');
$clientes->joinInner('Clientes_Categorias','Categorias_Asegurado.id_categoria=Clientes_Categorias.id_categoria','');
$clientes->joinInner('Clientes_Subgrupos','Clientes_Subgrupos.id_grupo=Clientes_Categorias.id_grupo','');
$clientes->joinInner('Aseguradoras','Aseguradoras.id_aseguradora = Clientes_Subgrupos.id_aseguradora','');//Aseguradoras
$clientes->joinInner('Clientes','Clientes_Subgrupos.id_cliente=Clientes.id_cliente','');
$clientes->joinInner('Asegurado_Movimientos','Asegurado_Movimientos.id_categorias_asegurado = Categorias_Asegurado.id_categorias_asegurado','');
$clientes->joinInner('Catalogo_Movimientos','Catalogo_Movimientos.id_catalogo_movimientos = Asegurado_Movimientos.id_catalogo_movimientos','Catalogo_Movimientos.nombre AS tipo_movimiento');//Catalogo Movimientos
$clientes->joinInner('Asegurado_Movimientos_Log','Asegurado_Movimientos.idasegurado_movimientos = Asegurado_Movimientos_Log.idasegurado_movimientos', array('min(Asegurado_Movimientos_Log.fecha_actualizacion) as fecha_inicio_movimiento','max(Asegurado_Movimientos_Log.fecha_actualizacion) as fecha_fin_movimiento') );
$clientes->joinInner('Seguimiento_Atiende','Asegurado_Movimientos.id_seguimiento_atiende = Seguimiento_Atiende.id_seguimiento_atiende','Seguimiento_Atiende.nombre as status');
$clientes->joinInner('Catalogo_Atiende','Catalogo_Atiende.id_catalogo_atiende = Seguimiento_Atiende.id_catalogo_atiende','');
Ya trate de agregarlo En el array $solicitedData y ahora lo agregue aqui..
Código PHP:
>joinInner('Catalogo_Movimientos','Catalogo_Movimientos.id_catalogo_movimientos = Asegurado_Movimientos.id_catalogo_movimientos','Catalogo_Movimientos.nombre AS tipo_movimiento');//Catalogo Movimientos
El problema es que SI me regresa los datos de la consulta BIEN, pero cuando trato de hacer un WHERE.
Código PHP:
$clientes->where('tipo_movimiento' . " like '%" . $filters[$j]['data']['value'] . "%'" );
Me vota el clasico...
Código PHP:
Zend_Db_Statement_Exception: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'tipo_movimiento' in 'where clause'
Alguna idea de por que en el WHERE el campo parece no existir sin embargo al hacer el assemble();
Viene en la lista de campos..
Código PHP:
SELECT distinct(Asegurados.id_asegurado) AS `id_asegurado`, `Clientes`.`id_cliente`, `Clientes`.`nombre_empresa`,
`Clientes_Subgrupos`.`id_grupo`, `Clientes_Subgrupos`.`nombre_grupo`, `Clientes_Subgrupos`.`numero_poliza`,
`Clientes_Subgrupos`.`fecha_inicio_vigencia`, `Clientes_Subgrupos`.`fecha_fin_vigencia`,
`Clientes_Categorias`.`id_categoria`, `Clientes_Categorias`.`categoria`, `Asegurados`.`nombre_completo` AS
`nombre_asegurado`, `Asegurados`.`nombre_completo`, `Asegurados`.`fecha_nac` AS `fecha_nacimiento`,
`Asegurados`.`fecha_nac`, `Asegurados`.`email`, `Asegurados`.`sexo`, `Asegurados`.`vip`,
`Aseguradoras`.`id_aseguradora`, `Aseguradoras`.`aseguradora`, `Catalogo_Atiende`.`nombre` AS `atiende`,
`Catalogo_Movimientos`.`nombre` AS `tipo_movimiento`