2017-05-30 99 views
-1

我想知道get()方法以及它在輔助函數中的調用方式。我在控制器中沒有看到這種方法。調用輔助函數文件中的方法

這裏是我的助手代碼:

<?php 
if (!defined('BASEPATH')) 
    exit('No direct script access allowed'); 


function loginUser(){ 
    $CI = & get_instance(); 
    $sess = $CI->session->userdata('admin'); 
    $ar = unserialize($sess); 
    $id=$ar['id']; 
    $CI->load->model('admin_login_model'); 
    $details = $CI->admin_login_model->get($id); 
return $details->type; 


} 
?> 

我想知道這種方法是如何$details = $CI->admin_login_model->get($id);稱呼是因爲get();方法沒有在控制器發現

+0

你是什麼意思由_「在控制器中找不到」_ - 你的意思是錯誤,或者你找不到該方法? – Tom

+0

我不得不在別人的編輯中重新編輯這個想要刪除codeigniter標籤的編輯;請不要這樣做,也不要刪除相關標籤。 –

+0

我找不到這個方法@thebluefox –

回答

0

首先 $CI = & get_instance();負載的笨單一實例其中存儲了代碼字中的幾乎所有內容(幫助者,庫等)https://www.codeigniter.com/user_guide/general/ancillary_classes.html?highlight=instance#get_instance

後來$CI->load->model('admin_login_model');加載admin_login_model模型最有可能存儲在application/models目錄中作爲admin_login_model.phphttps://www.codeigniter.com/user_guide/libraries/loader.html?highlight=loader#CI_Loader

它被加載到Codeigniter實例中。在這個例子中,它由$CI引用,使用instance->model->function()的代碼字符語法。通常情況下,例如,在內部控制器中使用CI實例和$this

比你使用admin_login_model模型的get()方法。

此方法與任何控制器無關。

+0

但是沒有get()方法在admin_login_model模型裏面@SEJBR –

+0

@Bhaveshverma你沒有得到像'''調用未定義方法的錯誤admin_login_model :: get()'''' ?你是否啓用了錯誤報告?在你打開<?php標籤之後加上'''error_reporting(E_ALL);''''。 – SEJBR