2016-06-09 5 views
0

저는 CodeIgniter 프레임 워크의 도우미 함수에서 데이터베이스 쿼리를 사용했습니다.codeigniter의 도우미 함수에서 데이터베이스 쿼리를 사용하는 것이 좋습니까?

데이터베이스에 많은 테이블이 있다고 가정합니다. 학교, 학생, ... 등등입니다. 각 항목에 대한 임의의 고유 ID를 테이블로 생성하고 테이블에서 일치하는 행의 전체 행을 검색하는 등의 일반적인 작업이 애플리케이션에 필요합니다. .. 등이 필요합니다.

이제 데이터베이스의 각 모델에서 각 작업에 대한 함수를 작성할 수 있습니다. Student_model

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

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

    // some code ... 
} 

에 :

School_model 에서

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

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

    // some code ... 
} 

또는 우리는 도우미 함수에 인수로 테이블 _을 전달할 수 있습니다

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

나중에 코드 중복 (DRY)이 발생합니다. 그러나 모델 외부의 함수에서 데이터베이스 쿼리를 사용하는 것이 좋습니다.

답변

2

저는 Codeigniter 코어를 확장하는 것이 더 나은 방법이라고 생각합니다.

class MY_Model extends CI_Model { 

당신은

마지막

class Student_model extends MY_Model 
MY_Model

로 모델을 확장 핵심 모델 내부의 function generate_ID($table_name){을 쓸 수 있습니다