2016-01-09 1 views
1

Comment puis-je obtenir les champs de colonne totaux d'un tableau de résultats dans la fonction de contrôleur?Récupère le nombre total de colonnes d'une table dans codeigniter?

je reçois qu'en utilisant comme $fields = $query->list_fields() sur model mais comment puis-je obtenir de controller.

fonction contrôleur:

$result = $this->admin_model->national_certificate_user_search_print($start_date, $end_date); 
$total = sizeof($result); // getting total rows 

fonction du modèle:

public function national_certificate_user_search_print($start_date, $end_date) { 
     $tablename = 'national_certificate'; 
     $query = $this->db->select('user_name,gurdiant_name,mother_name,prm_village_name,prm_post_office,prm_thana,prm_district,prsnt_address,prsnt_ward,prsnt_post_office,prsnt_thana,prsnt_district') 
         ->from($tablename) 
         ->where("uploaded_date BETWEEN '$start_date' AND '$end_date' ", NULL, FALSE) 
         ->get(); 
     $result = $query->result_array(); 
    // var_dump($query->num_fields()); 
     return $result; 
    } 
} 
+0

Ce n'est pas une norme d'extraire des données directement dans le contrôleur. Vous devriez appeler une fonction de modèle. C'est ce que pour 'MVC'. – urfusion

+0

Est-ce que j'ai besoin d'appeler une autre fonction pour obtenir les champs de la colonne? –

+1

retourne juste l'objet '$ query' du modèle au lieu de result_array() –

Répondre

1

Essayez celui-ci,

Controller:

$result = $this->admin_model->national_certificate_user_search_print($start_date, $end_date); 
$total = $result->list_fields(); //this will work now with Object 

Modèle:

public function national_certificate_user_search_print($start_date, $end_date) { 
     $tablename = 'national_certificate'; 
     $query = $this->db->select('user_name,gurdiant_name,mother_name,prm_village_name,prm_post_office,prm_thana,prm_district,prsnt_address,prsnt_ward,prsnt_post_office,prsnt_thana,prsnt_district') 
         ->from($tablename) 
         ->where("uploaded_date BETWEEN '$start_date' AND '$end_date' ", NULL, FALSE) 
         ->get(); 
     return $query; 
    } 
} 

Vous avez juste besoin de retourner $query objet de Model et vous pouvez l'utiliser dans Controller de sorte que la fonction list_fields() travaillant dans controller.