2010-04-10 5 views
0

코드 이그나이터에서 당신은 입력 할 수현재 객체를 반환하는 방법은 무엇입니까?

$query = $this->db->query("YOUR QUERY"); 

foreach ($query->result() as $row) 
{ 
    echo $row->title; 
    echo $row->name; 
    echo $row->body; 
} 

내가 쿼리 방법은 그것의 일부 개체를 반환 같아요. 나 맞아?

만약 내가 그렇다면 객체를 반환하는 행을 어떻게 입력합니까?

그래서 궁금한 건 위 코드가 작동하는 쿼리 메서드 내부에서 어떻게 생겼는지 궁금합니다.

public function query($sql) { 
    // some db logic here with the $sql and saves the values to the properties (title, name and body) 

    return X 
} 

다른 단어와 함께해야 할 것은 무엇입니까?

답변

1

그 기능은 응용 프로그램의 데이터베이스 설정에서 설정 한 데이터베이스 드라이버 (아마도)에 대한 새로운 DB를 결과 개체를 반환, 성공 쿼리에

/system/database/DB_driver.php:244

에 있습니다.

예 : CI_DB_mysql_result (/system/database/drivers/mysql/mysql_result.php에 있음);

다른 단어와 함께해야 할 것은 무엇입니까? DB_driver.php에서

$driver   = $this->load_rdriver(); 
$RES   = new $driver(); 
$RES->conn_id = $this->conn_id; 
$RES->result_id = $this->result_id; 

: 366

2

은 내가 CodeIgniter의 소스 코드를 읽을 수 havn't는하지만 $query는 DB의 결과를 나타내는 클래스의 어떤 종류가 있다고 가정하는 것이 합리적 일 수있다, 그래서 아주 잘 return $this;

또한있을 수있는 일 수 있습니다 like : return new Db_ResultSet($data) 또는 이와 유사합니다.

관련 문제