Codeigniter语法$ this-> db-> list_fields从许多表中获取许多列

时间:2016-03-22 10:15:04

标签: php mysql codeigniter

我有Codeigniter功能

function get_info2($item_id, $profil)
{
    $arrayku = explode(',', $item_id);
    $hasilsplit0 = $arrayku[0];
    $hasilsplit1 = str_replace("%20"," ",$arrayku[1]);

    $this->db->select("i.item_id,i.name as name, i.category as category, 
    i.supplier_id as supplier_id, i.item_number as item_number, i.product_id 
   as product_id, i.description as description, i.size as size, 
   i.tax_included as tax_included,  i.cost_price as cost_price, IF(pt.name IS 
   NULL, i.unit_price, itp.unit_price) AS unit_pricebaru, i.promo_price as 
   promo_price, i.start_date as start_date, i.end_date as end_date, 
   i.reorder_level as reorder_level, i.allow_alt_description as 
   allow_alt_description, i.is_serialized as is_serialized, i.image_id as 
   image_id, i.override_default_tax as override_default_tax, i.is_service as 
   is_service, i.deleted as deleted
    ", FALSE);
            $this->db->from('items i');
    $this->db->join('items_tier_prices itp','itp.item_id=i.item_id','left');
    $this->db->join("price_tiers pt","pt.id=itp.tier_id and pt.name='".$hasilsplit1."'","left");
    $this->db->where('i.item_id', $hasilsplit0);
    $this->db->where('i.deleted', 0);
            $this->db->order_by('pt.name', 'desc');
            $this->db->limit(1);
    $query = $this->db->get();

    if($query->num_rows()==1)
    {
        $item_obj=new stdClass();

        $fields = $this->db->list_fields('?????');

        foreach ($fields as $field)
        {
            $item_obj->$field='';
        }

        return $item_obj;
    }

}

查询成功运行且没有错误。

我的问题是:     如何使用3个连接表项,items_tier_prices,price_tiers中的许多列正确编写/获取查询列结果(请参阅上面的查询)?

 $fields = $this->db->list_fields('?????'); 
任何人都应该帮忙。或者如果我有错误请修复我的代码,这样我就可以正确地返回$ item_obj;

抱歉英语不好。 感谢

1 个答案:

答案 0 :(得分:0)

在没有参数的情况下使用$query->list_fields()可以为您提供所有字段。

相关问题