I want to convert this query in codeigniter to Ignited datatable query

前端 未结 3 598
不思量自难忘°
不思量自难忘° 2020-12-12 03:40

I dont know how to convert this long model function to ignited datatable query. I have done small select functions with ignited datatables.Anybody know???
I have no idea

相关标签:
3条回答
  • 2020-12-12 04:22
     $this->db->select('count(jil_quotemjdetail.qud_requirementid) as quotemjtotal'); 
                    $this->db->from('jil_quotemjdetail'); 
                   $this->db->join('jil_requirements', 'jil_requirements.rqm_id=jil_quotemjdetail.qud_requirementid', 'left'); 
                   $this->db->where('jil_requirements.rqm_id',$row->rqm_id);
                      $query3= $this->db->get()->row_object();
                      $row->quotemj_total = $query3->quotemjtotal;
    
                       $this->db->select('count(jil_quotejcdetail.qud_requirementid) as quotejctotal'); 
                    $this->db->from('jil_quotejcdetail'); 
                   $this->db->join('jil_requirements', 'jil_requirements.rqm_id= jil_quotejcdetail.qud_requirementid', 'left'); 
                   $this->db->where('jil_requirements.rqm_id',$row->rqm_id);
                      $query4= $this->db->get()->row_object();
                      $row->quotejc_total = $query4->quotejctotal;
    
                        $this->db->select('count( jil_pocjdetail.pocd_requirementid) as pocjtotal'); 
                    $this->db->from('jil_pocjdetail'); 
                   $this->db->join('jil_requirements', 'jil_requirements.rqm_id=  jil_pocjdetail.pocd_requirementid', 'left'); 
                   $this->db->where('jil_requirements.rqm_id',$row->rqm_id);
                      $query5= $this->db->get()->row_object();
                      $row->pocj_total = $query5->pocjtotal;
    
                       $this->db->select('count(jil_pojmdetail.pojd_requirementid) as pojmtotal'); 
                    $this->db->from('jil_pojmdetail'); 
                   $this->db->join('jil_requirements', 'jil_requirements.rqm_id=  jil_pojmdetail.pojd_requirementid', 'left'); 
                   $this->db->where('jil_requirements.rqm_id',$row->rqm_id);
                      $query6= $this->db->get()->row_object();
                      $row->pojm_total = $query6->pojmtotal;
    
    
                     $data[] = $row;
                            }
                           return $data;
                        }
                        return false;
                   }
    
    0 讨论(0)
  • 2020-12-12 04:27

    First you have to load the ignited dataTables library.

        $this->load->library('datatables');
    

    OR

    add it to Autoloader for automatic loading when your Codeigniter application starts.

    After that, change all

          $this->db->
    

    in your queries to

         $this->datatables
    

    Finally you have to use this to encode the data in json array

          $this->datatables->generate();
    

    Lemme know if i can still be of help

    UPDATE

    public function fetch_data() {
    
              $this->datatables->from('jil_requirements');
              $this->datatables->join('jil_users',         'jil_requirements.rqm_userid=jil_users.usr_id', 'left');
              $this->datatables->join('jil_merchants', 'jil_requirements.rqm_createdempid=jil_merchants.mer_id', 'left');
              $this->datatables->where('jil_requirements.rqm_permission!=', '4');
              $this->datatables->order_by("jil_requirements.rqm_id", "desc");
              $query =  $this->datatables->get();  
    
             if ($query->num_rows() > 0) {
    
              foreach ($query->result() as $row) {
                 $this->datatables->select('count(jil_mrorfq.rfq_requirementid) as total'); 
                $this->datatables->from('jil_mrorfq'); 
               $this->datatables->join('jil_requirements', 'jil_requirements.rqm_id=jil_mrorfq.rfq_requirementid', 'left'); 
               $this->datatables->where('jil_requirements.rqm_id',$row->rqm_id);
                  $query2= $this->datatables->get()->row_object();
                 $row->total_count = $query2->total;    
                  $this->datatables->select('count(jil_quotemjdetail.qud_requirementid) as quotemjtotal'); 
                $this->datatables->from('jil_quotemjdetail'); 
               $this->datatables->join('jil_requirements', 'jil_requirements.rqm_id=jil_quotemjdetail.qud_requirementid', 'left'); 
               $this->datatables->where('jil_requirements.rqm_id',$row->rqm_id);
                  $query3= $this->datatables->get()->row_object();
                  $row->quotemj_total = $query3->quotemjtotal;
    
                   $this->datatables->select('count(jil_quotejcdetail.qud_requirementid) as quotejctotal'); 
                $this->datatables->from('jil_quotejcdetail'); 
               $this->datatables->join('jil_requirements', 'jil_requirements.rqm_id= jil_quotejcdetail.qud_requirementid', 'left'); 
               $this->datatables->where('jil_requirements.rqm_id',$row->rqm_id);
                  $query4= $this->datatables->get()->row_object();
                  $row->quotejc_total = $query4->quotejctotal;
    
                    $this->datatables->select('count( jil_pocjdetail.pocd_requirementid) as pocjtotal'); 
                $this->datatables->from('jil_pocjdetail'); 
               $this->datatables->join('jil_requirements', 'jil_requirements.rqm_id=  jil_pocjdetail.pocd_requirementid', 'left'); 
               $this->datatables->where('jil_requirements.rqm_id',$row->rqm_id);
                  $query5= $this->datatables->get()->row_object();
                  $row->pocj_total = $query5->pocjtotal;
    
                   $this->datatables->select('count(jil_pojmdetail.pojd_requirementid) as pojmtotal'); 
                $this->datatables->from('jil_pojmdetail'); 
               $this->datatables->join('jil_requirements', 'jil_requirements.rqm_id=  jil_pojmdetail.pojd_requirementid', 'left'); 
               $this->datatables->where('jil_requirements.rqm_id',$row->rqm_id);
                  $query6= $this->datatables->get()->row_object();
                  $row->pojm_total = $query6->pojmtotal;
    
                   echo $this->datatables->generate();
    
               }
    
    0 讨论(0)
  • 2020-12-12 04:33

    Use this in your controller and see if its working

    public function fetch_data() 
    { 
     $this->load->library("datatables");
     $query =  $this->datatables
            ->select('jil_requirements.*,count(jil_mrorfq.rfq_requirementid) as total,count(jil_quotemjdetail.qud_requirementid) as quotemjtotal,count(jil_quotejcdetail.qud_requirementid) as quotejctotal,count( jil_pocjdetail.pocd_requirementid) as pocjtotal,count(jil_pojmdetail.pojd_requirementid) as pojmtotal')
            ->from('jil_requirements')
            ->join('jil_users', 'jil_requirements.rqm_userid=jil_users.usr_id', 'left')
            ->join('jil_merchants', 'jil_requirements.rqm_createdempid=jil_merchants.mer_id', 'left')
            ->join('jil_mrorfq', 'jil_mrorfq.rfq_requirementid = jil_requirements.rqm_id', 'left')
            ->join('jil_quotemjdetail', 'jil_quotemjdetail.qud_requirementid = jil_requirements.rqm_id', 'left')
            ->join('jil_pocjdetail', 'jil_pocjdetail.pocd_requirementid = jil_requirements.rqm_id', 'left')
            ->join('jil_pojmdetail', 'jil_pojmdetail.pojd_requirementid = jil_requirements.rqm_id', 'left')
            ->where('jil_requirements.rqm_permission!=', '4');  
        echo $this->datatables->generate();
    }
    
    0 讨论(0)
提交回复
热议问题