Database - Error Number: 1052 (CodeIgniter)
El error es el siguiente:
Error Number: 1052Column 'fabricante_id' in where clause is ambiguous
SELECT `brs_articulos`.`articulo_id`, `brs_articulos`.`nombre`, `brs_fabricantes`.`nombre` as fabricante_marca, `brs_articulos`.`articulo_id`, `brs_articulos`.`nombre` FROM (`brs_articulos`) JOIN `brs_fabricantes` ON `brs_fabricantes`.`fabricante_id` = `brs_articulos`.`fabricante_id` WHERE `fabricante_id` = '44' LIMIT 6
Filename: [...]\DB_driver.php
Line Number: 330
Y yo estoy ejecutando lo siguiente:
public function cargar_articulos($filtro,$numero,$offset){
$query1= $this->db->select('brs_articulos.articulo_id, brs_articulos.nombre, brs_fabricantes.nombre as fabricante_marca'); // campos que se mostraran en pantalla
$query1= $this->db->select('brs_articulos.articulo_id, brs_articulos.nombre'); // campos que se mostraran en pantalla
$query1= $this->db->from('brs_articulos');
$query1= $this->db->join('brs_fabricantes','brs_fabricantes.fabricante_id = brs_articulos.fabricante_id');
$query1= $this->enrutamiento_where($filtro);
$query1= $this->db->limit($numero, $offset);
$query1= $this->db->get();
return $query1;
}
He estado leyendo pero veo la solución y a simple vista la estructura es correcta:
http://codeigniter.com/forums/viewthread/79724/#460421
- - -
+INFO: http://codeigniter.com/user_guide/database/active_record.html
Las tablas son:
brs_articulos
- articulo_id (primary key)
- fabricante_id
- nombre
- ...
brs_fabricantes
- fabricante_id (primary key)
- nombre
- - -
Saludos y gracias de antemano.
phpninja
parece que no está diferenciando el campo fabricante_id en las diferentes tablas. pero tampoco veo el fallo.
No he tocado mucho code ignitier, pero creo que el problema esta en el sql.
concretamente en el join. Si le sacas el join, debería salir la id directamente pero no dará error no?
Se me ocurre esto otro, podría ser algo así?
en vez de:
$query1= $this->db->join('brs_fabricantes','brs_fabricantes.fabricante_id = brs_articulos.fabricante_id');
al reves: ?
$query1= $this->db->join('brs_fabricantes','brs_articulos.fabricante_id = brs_fabricantes.fabricante_id');
suerte
southsoft
phpninja
Perdón por tardar en responder. El error estaba en un WHERE (dicha parte del código no la copie en el post). Al final mi tutor de prácticas quiso hacer cambios y he solucionado un problema que al final no iba a servir jeje.
Gracias por la respuesta de todos modos ;)