Welcome Guest, Not a member yet? Register   Sign In
[SOLVED] MySQL organitzation problem and results question
#6

[eluser]Isern Palaus[/eluser]
Hello,

Rogierb, I've tried what you said and I'm getting a MySQL error.

Quote:A Database Error Occurred
Error Number: 1054

Unknown column 'fabricante_descripcion.name' in 'field list'

SELECT DISTINCT `fabricante_descripcion`.`name` as fabricante_descripcion_name, `monedas`.`name` as monedas_name, `producto`.*, `producto_descripcion`.*, `fabricante`.*, `fabricante_descripcion`.*, `producto_has_categoria`.*, `precio`.*, `monedas`.* FROM (`producto`) LEFT JOIN `producto_descripcion` ON `producto`.`idproducto` = `producto_descripcion`.`producto_idproducto` LEFT JOIN `fabricante` ON `producto`.`fabricante_idfabricante` = `fabricante_idfabricante` LEFT JOIN `fabricante_descripcion` ON `fabricante`.`idfabricante` = `fabricante_descripcion`.`fabricante_idfabricante` LEFT JOIN `producto_has_categoria` ON `producto`.`idproducto` = `producto_has_categoria`.`producto_idproducto` LEFT JOIN `precio` ON `producto`.`precio_idprecio` = `precio`.`idprecio` LEFT JOIN `monedas` ON `precio`.`monedas_idmonedas` = `monedas`.`idmonedas` WHERE `producto`.`activo` = 1 AND `producto_has_categoria`.`categoria_idcategoria` = '1' AND `producto_descripcion`.`idioma_ididioma` = '2' AND `monedas`.`idmonedas` = 1 AND `producto`.`borrado` = 0 ORDER BY `producto_descripcion`.`nombre` ASC LIMIT 25

Code:
private function _getProductsByCategoryId($id = 0, $activo = 1, $idioma = 1, $moneda = 1, $orden = 'nombre', $sentido = 'ASC', $total = 25, $inicio = 0)
    {
        $this->db->from('producto')
                 ->select('fabricante_descripcion.name as fabricante_descripcion_name,monedas.name as monedas_name')
                 ->select('producto.*, producto_descripcion.*, fabricante.*, fabricante_descripcion.*, producto_has_categoria.*, precio.*, monedas.*')
                 ->join('producto_descripcion', 'producto.idproducto = producto_descripcion.producto_idproducto', 'left')
                 ->join('fabricante', 'producto.fabricante_idfabricante = fabricante_idfabricante', 'left')
                 ->join('fabricante_descripcion','fabricante.idfabricante = fabricante_descripcion.fabricante_idfabricante', 'left')
                 ->join('producto_has_categoria', 'producto.idproducto = producto_has_categoria.producto_idproducto', 'left')
                 ->join('precio', 'producto.precio_idprecio = precio.idprecio', 'left')
                 ->join('monedas', 'precio.monedas_idmonedas = monedas.idmonedas', 'left');
                
        $ordenes = array(    'nombre'         =>    'producto_descripcion.nombre',
                            'precio'        =>    'precio.valor',
                            'fabricante'    =>    'fabricante_descripcion.nombre',
                            'referencia'    =>     'producto.referencia');
        
        if(in_array($orden, $ordenes))
            $this->db->order_by($orden, $sentido);
        else
            $this->db->order_by($ordenes['nombre'], $sentido);
            
        $this->db->where('producto.activo', $activo)
                 ->where('producto_has_categoria.categoria_idcategoria', $id)
                 ->where('producto_descripcion.idioma_ididioma', $idioma)
                 ->where('monedas.idmonedas', $moneda)
                 ->where('producto.borrado', 0);
                
        $this->db->distinct();
                
        $this->db->limit($total, $inicio);
            
        return $this->db->get();
    }

I've tried to put only $this->db->select('monedas.name as monedas_name') and it shows the same error (with monedas.name). How I can solve this?

Thank you another time,
Isern


Messages In This Thread
[SOLVED] MySQL organitzation problem and results question - by El Forum - 11-07-2009, 10:45 AM



Theme © iAndrew 2016 - Forum software by © MyBB