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


Codeigniter syntax $this->db->list_fields to get many columns from many tables

嗨,我有代码点火器函数

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;

对不起,英语不好。谢谢

使用不带参数的$query->list_fields()应该为您提供所有字段。