在 get_where codeigniter 上加入表

问题描述 投票:0回答:1

我需要加入一个表并从该表中减去位置和价格bycat1,但我无法弄清楚codeigniter上的函数。

这是我检索产品的功能。

function get_product($id, $related=true)
{
    $result = $this->db->get_where('products',array('id'=>$id))->row();
    // get position, pricebycat1, join category_products 'category_products.product_id=products.id'
    if(!$result) {
        return false;
    }
    $related = json_decode($result->related_products);
    if(!empty($related)) {
        //build the where
        $where = false;
        foreach($related as $r) {
            if(!$where) {
                    $this->db->where('id', $r);
            } else {
                    $this->db->or_where('id', $r);
            }
            $where = true;
        }
        $result->related_products = $this->db->get('products')->result();
    } else {
        $result->related_products = array();
    }
    $result->categories = $this->get_product_categories($result->id);
    // group discount?
    if($this->group_discount_formula) {
        eval('$result->price=$result->price'.$this->group_discount_formula.';');
    }
    return $result;
}

如有任何帮助,我们将不胜感激。

php codeigniter join
1个回答
0
投票

您无法仅使用

get_where()
加入另一个表。 尝试使用这种方法来提取数据

$this->db->select('*.products, category_products.position, category_products.price');
$this->db->from('products');
//join LEFT by default
$this->db->join('category_products', 'category_products.product_id=products.id');
$this->db->where('products.id = '.$id);
$this->db->row();
© www.soinside.com 2019 - 2024. All rights reserved.