2016-06-09 29 views
0

我在CodeIgniter框架中使用了輔助函數中的數據庫查詢。在codeigniter中的輔助函數中使用數據庫查詢是否是一種好的做法?

假設數據庫有許多表格,例如, 學校,學生等等,並且在應用程序中需要常見的任務,例如爲表中的每個條目生成隨機唯一標識符,從表中檢索匹配行的整個行。 ..等是必需的。

現在,我們可以爲數據庫的各個模型中的每個任務編寫函數,例如,

School_model

class School_model extends CI_Model 
{ 
    // some code ...  

    function generateID() 
    { 
     // code to generate unique id by checking the database 
    } 

    // some code ... 
} 

Student_model

class Student_model extends CI_Model 
{ 
    // some code ...  

    function generateID() 
    { 
     // same code to generate unique id except the table name 
    } 

    // some code ... 
} 

或者我們可以通過table_name的作爲參數傳遞給一個輔助功能:

function generate_ID($table_name) 
{ 
    // code to genetrate unique id by checking in $table_name 
} 

後來盛行代碼重複(DRY)。但是,在模型之外的函數中使用數據庫查詢是一種很好的做法。

回答

2

我認爲,擴展Codeigniter內核是更好的方法。

class MY_Model extends CI_Model { 

您可以編寫核心模型內的function generate_ID($table_name){

最後用MY_Model

class Student_model extends MY_Model 
擴展你的模型
相關問題