无法在Codeigniter中加入数据库并从数据库中获取数据

时间:2018-07-27 17:30:33

标签: php codeigniter mysqli jointable

我想加入三个表并从函数中获取数据,但无法这样做。我可以获取类别联合数据,但不能获取产品线数据。

我有三个桌子。一个是cv_category,第二个是product_line,最后一个是cv_products。我在product_line中有一个名为public function get_products($id = 0, $slug = FALSE){ if($id === 0 && $slug === FALSE){ $this->db->order_by('cv_products.id', 'DESC'); $this->db->select('cv_products.*, cv_category.name as categoryname', 'product_line.name as linename','cv_category.id as category_id' ); $this->db->join('cv_category','cv_category.id = cv_products.category', 'left'); $this->db->join('product_line','product_line.id = cv_products.product_line', 'left'); $query= $this->db->get('cv_products'); return $query->result_array(); } $this->db->select('cv_products.*, cv_category.name as categoryname', 'product_line.name as linename','cv_category.id as category_id' ); $this->db->join('cv_category','cv_category.id = cv_products.category', 'left'); $this->db->join('product_line','product_line.id = cv_products.product_line', 'left'); $query= $this->db->get_where('cv_products', array('cv_products.id' => $id, 'slug' => $slug)); return $query->row_array(); } 的表字段。

这是我在模型中的功能

Severity: Notice
Message: Undefined index: linename

在视图中它给出了类似的错误 name

因为我在cv_productscv_categoryproduct_line中都有一个字段product_line.name as linename,所以在选择时我给出了cv_categoryproduct_line联合还可以,但是在{{1}}联合的情况下无法获得相同的结果。

1 个答案:

答案 0 :(得分:1)

在您的选择通话中,报价似乎有些偏离。

更改此:

$this->db->select('cv_products.*, cv_category.name as categoryname', 'product_line.name as linename','cv_category.id as category_id' );

对此:

$this->db->select('cv_products.*, cv_category.name as categoryname, product_line.name as linename,cv_category.id as category_id' );

请注意,我在select语句的开头打开了引号,并在结尾将其关闭。各个字段不需要用引号$this->db->select()引用,然后有可能将它们视为函数参数。

还在函数中的第二个select语句中重复这种方法。

让我知道它是否对您有用。