Saludos Amigo, he conseguido la solución al siguiente problema:
Greetings Friend, I got the solution to the following problem:
A Database Error Occurred Error Number: 1052 Column 'Estatus' in where clause is ambiguousSELECT `contratos`.*, CONCAT('', COALESCE(jf083c376.Rif, ''), ' ', COALESCE(jf083c376.Cliente, ''), '') as sf083c376, CONCAT('', COALESCE(j1d35f366.Rif, ''), ' ', COALESCE(j1d35f366.Cliente, ''), '') as s1d35f366, j84d11f44.Personal AS s84d11f44, j7a71f096.Clase AS s7a71f096, jcb65d60e.Uso AS scb65d60e, j092a3a96.Marca AS s092a3a96, jd56c9980.Modelo AS sd56c9980, j1c7c006f.Color AS s1c7c006f, jda127ca0.Tipo AS sda127ca0, j2293f555.Capacidad AS s2293f555, CONCAT('', COALESCE(j9c0412fe.TipoVehiculo, ''), ' | Total de Beneficios ', COALESCE(j9c0412fe.Total, ''), 'Bs') as s9c0412fe FROM (`contratos`) LEFT JOIN `clientes` as jf083c376 ON `jf083c376`.`IdCliente` = `contratos`.`IdContratante` LEFT JOIN `clientes` as j1d35f366 ON `j1d35f366`.`IdCliente` = `contratos`.`IdBeneficiario` LEFT JOIN `personal` as j84d11f44 ON `j84d11f44`.`IdPersonal` = `contratos`.`IdAcesor` LEFT JOIN `vehiculos_clases` as j7a71f096 ON `j7a71f096`.`IdClase` = `contratos`.`IdClase` LEFT JOIN `vehiculos_usos` as jcb65d60e ON `jcb65d60e`.`IdUso` = `contratos`.`IdUso` LEFT JOIN `vehiculos_marcas` as j092a3a96 ON `j092a3a96`.`IdMarca` = `contratos`.`IdMarca` LEFT JOIN `vehiculos_modelos` as jd56c9980 ON `jd56c9980`.`IdModelo` = `contratos`.`IdModelo` LEFT JOIN `vehiculos_colores` as j1c7c006f ON `j1c7c006f`.`IdColor` = `contratos`.`IdColor` LEFT JOIN `vehiculos_tipos` as jda127ca0 ON `jda127ca0`.`IdTipo` = `contratos`.`IdTipo` LEFT JOIN `vehiculos_capacidades` as j2293f555 ON `j2293f555`.`IdCapacidad` = `contratos`.`IdCapacidad` LEFT JOIN `tarifas_precios` as j9c0412fe ON `j9c0412fe`.`IdTarifa` = `contratos`.`IdTarifa` WHERE `Estatus` = '1' AND `contratos`.`IdOficina` = '1' LIMIT 25Filename: /home/luiscordero/Proyectos/ser/models/grocery_crud_model.phpLine Number: 87
Este es el controlador:
This is the controller:
function registrarcontratos() { if($this->session->userdata('logged_in')) { $session_data = $this->session->userdata('logged_in'); $data['idusuario'] = $session_data['idusuario']; $data['username'] = $session_data['username']; $data['level'] = $session_data['level']; $data['idoficina'] = $session_data['idoficina']; $data['supervisor'] = $session_data['supervisor']; if ($data['level']<>1){ redirect('home/logout', 'refresh'); } $this->load->view('templates/header', $data); $this->load->view('templates/aside'); $content['titulo'] = 'REGISTRAR NUEVO CONTRATO'; $this->load->view('templates/content', $content); try{ $crud = new grocery_CRUD(); $crud->where('Estatus','1'); $crud->where('IdOficina',$data['idoficina']); $crud->set_table('contratos'); $crud->set_subject('Gestor de Nuevos Contratos'); // Comlumns $crud->columns('IdContratante','IdBeneficiario','IdAcesor','IdClase','IdUso','IdMarca','IdModelo','IdColor','IdTipo','IdCapacidad','Placa','Motor','Carroceria','IdTarifa','Grua','Frontera','FormaPago'); // Action //$crud->add_action('Cobrar', base_url().'images/money-dollar.png', 'home/cobrar'); // Fiels $crud->fields('IdContratante','IdBeneficiario','IdAcesor','IdClase','IdUso','IdMarca','IdModelo','IdColor','IdTipo','IdCapacidad','Placa','Motor','Carroceria','IdTarifa','Grua','Frontera','FormaPago','AsistenciaLegal','Muerte','Invalidez','GastosMedicos','Estacionamiento','Propetario','Cosas','Personas','Prima','Total'); // Required $crud->required_fields('IdContratante','IdBeneficiario','IdAcesor','IdClase','IdUso','IdMarca','IdModelo','IdColor','IdTipo','IdCapacidad','Placa','Motor','Carroceria','IdTarifa','Grua','Frontera','FormaPago'); // Display $crud->display_as('IdContratante','Contratante'); $crud->display_as('IdBeneficiario','Beneficiario'); $crud->display_as('IdAcesor','Acesor'); $crud->display_as('IdClase','Clase del VehÃculo'); $crud->display_as('IdUso','Uso del VehÃculo'); $crud->display_as('IdMarca','Marca del VehÃculo'); $crud->display_as('IdModelo','Modelo del VehÃculo'); $crud->display_as('IdColor','Color del VehÃculo'); $crud->display_as('IdTipo','Tipo de VehÃculo'); $crud->display_as('IdCapacidad','Capacidad del VehÃculo'); $crud->display_as('Placa','Placa del VehÃculo'); $crud->display_as('Motor','Serial del Motor'); $crud->display_as('Carroceria','Serial del Carroceria'); $crud->display_as('IdTarifa','Tipo de Tarifa'); $crud->display_as('Grua','Servicio de Grua'); $crud->display_as('Frontera','Cobertura de Frontera'); $crud->display_as('FormaPago','Froma de Pago'); // SetRelation $crud->set_relation('IdContratante','clientes','{Rif} {Cliente}',null); $crud->set_relation('IdBeneficiario','clientes','{Rif} {Cliente}'); $crud->set_relation('IdAcesor','personal','Personal'); $crud->set_relation('IdClase','vehiculos_clases','Clase'); $crud->set_relation('IdUso','vehiculos_usos','Uso'); $crud->set_relation('IdMarca','vehiculos_marcas','Marca'); $crud->set_relation('IdModelo','vehiculos_modelos','Modelo'); $crud->set_relation('IdColor','vehiculos_colores','Color'); $crud->set_relation('IdTipo','vehiculos_tipos','Tipo'); $crud->set_relation('IdCapacidad','vehiculos_capacidades','Capacidad'); $crud->set_relation('IdTarifa','tarifas_precios','{TipoVehiculo} | Total de Beneficios {Total}Bs'); // FieldsType $crud->field_type('IdOficina','hidden',$data['idoficina']); $crud->field_type('IdSupervisor','hidden',$data['idusuario']); $crud->field_type('Estatus','hidden',1); // invisible $crud->field_type('AsistenciaLegal','invisible'); $crud->field_type('Muerte','invisible'); $crud->field_type('Invalidez','invisible'); $crud->field_type('GastosMedicos','invisible'); $crud->field_type('Estacionamiento','invisible'); $crud->field_type('Propetario','invisible'); $crud->field_type('Cosas','invisible'); $crud->field_type('Personas','invisible'); $crud->field_type('Prima','invisible'); $crud->field_type('Total','invisible'); // callback $crud->callback_before_insert(array($this,'tarifas_precios_callback')); $crud->callback_before_update(array($this,'tarifas_precios_callback')); // unset $crud->unset_fields('FechaEmision','FechaVencimiento','Hora','Monto','Inicial','Giros','Estatus'); $crud->unset_print(); $crud->unset_export(); //$crud->order_by('IdContrato','acs'); $output = $crud->render(); $this->_crud_output($output); }catch(Exception $e){ show_error($e->getMessage().' --- '.$e->getTraceAsString()); } $this->load->view('templates/footer'); } else { //If no session, redirect to login page redirect('login', 'refresh'); } }
he dado con la solución cambiandolo de la siguiente manera:
I found the solution changing it as follows:
$crud->where('contratos.Estatus','1'); $crud->where('contratos.IdOficina',$data['idoficina']); $crud->set_table('contratos');
Resulta que cuando realizamos el Where y al mismo tiempo y un set_relation, si ambas tablas poseen una columna similar, el crud no reconoce dichas columnas, por lo tanto debemos ingresar manualmente en el where el nombre de la tabla.
It turns out that when we perform while Where and set_relation if both tables have a similar column, the crud does not recognize these columns, so we must manually enter the 'where the name of the table.
Nota: Traducción de Google
Note: Translation by Google