无法从 Codeigniter 中的数据库联接和获取数据



我想连接三个表并从函数中获取数据,但无法这样做。我能够获得类别联合数据,但不能获得产品线数据。

我有三张桌子。一个是cv_products第二个是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.

因为我在cv_productscv_categoryproduct_line中都有一个领域name,所以在选择时我已经给了product_line.name as linenamecv_category关节没问题,但在关节时间product_line无法获得相同的情况。

在您的选择调用中,引号似乎有点偏离。

更改此设置:

$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()然后可能会将它们视为函数参数。

对函数中的第二个选择语句也重复此方法。

让我知道它是否适合您。

相关内容

  • 没有找到相关文章

最新更新