具有点燃数据表的Codeigniter

时间:2014-07-23 07:50:03

标签: php codeigniter datatables jquery-datatables

我终于让Codeigniter处理被点燃的数据表。现在我遇到了另一个问题。任何人都可以帮助或告诉我,如果我可以使用codeigniter的datatables插件运行以下查询。

目前我在我知道的跛脚控制器内做这件事(这只是为了测试)

控制器     $ data [' query'] = $ this-> test_queries-> list_partners();

    foreach($data['query'] as $k => $company){
        $data['query'][$k]->partner_contacts = $this->test_queries->get_partner_contacts($company->id);
    }

模型中的查询

function list_partners(){
    $this->db->select("company.id,name,general_email,general_phone,market");
    $this->db->from("company");
    $this->db->join('markets','markets.id = company.market_id');        
    $query = $this->db->get();      
    $result = $query->result();     
    return $result;
}

function get_partner_contacts($id){

    $this->db->select('partner_contacts.id,contact_type');
    $this->db->from('partner_contacts');
    $this->db->where('company_id',$id);     
    $this->db->join('department','department.id = partner_contacts.contact_type_id');       
    $query = $this->db->get();      
    $result = $query->result();     
    return $result;
}

1 个答案:

答案 0 :(得分:1)

您可以更改模型中的查询,如下所示:

function list_partners(){
    $this->datatables->select("company.id,name,general_email,general_phone,market");
    $this->datatables->from("company");
    $this->datatables->join('markets','markets.id = company.market_id');        
    return $this->datatables->generate();
}

function get_partner_contacts($id){

    $this->datatables->select('partner_contacts.id,contact_type');
    $this->datatables->from('partner_contacts');
    $this->datatables->where('company_id',$id);     
    $this->datatables->join('department','department.id = partner_contacts.contact_type_id');       
    return $this->datatables->generate();
}

如果您使用的是PHP 5或更高版本,也可以使用方法链接。