Zend_Db_Rable_Row를 객체로 변환하는 방법. 데이터베이스 테이블에 ''(개체의 전용 변수가 밑줄) 인 ''(밑줄)로 시작하는 개체의 변수와 동일한 열 이름을 가지고 있다고 가정합니다.Zend_Db_Rable_Row를 객체로 변환하는 방법
예를 들어 데이터베이스 테이블 열은 사용자 이름과 변수 이름입니다. 객체가 _username 인 경우
Zend_Db_Rable_Row를 객체로 변환하는 방법. 데이터베이스 테이블에 ''(개체의 전용 변수가 밑줄) 인 ''(밑줄)로 시작하는 개체의 변수와 동일한 열 이름을 가지고 있다고 가정합니다.Zend_Db_Rable_Row를 객체로 변환하는 방법
예를 들어 데이터베이스 테이블 열은 사용자 이름과 변수 이름입니다. 객체가 _username 인 경우
개인 변수가 밑줄로 시작하는 경우 이러한 변수에 게터와 설정자가있을 가능성이 큽니다. 예 : private $_myVar
에는 설정자 setMyVar()
이 있습니다. 이 코드는 행의 각 필드에 적합한 설정기를 호출합니다.
public function convertToObject($row)
{
$myObject = new MyObject();
foreach ($row->toArray() as $key=>$value) {
// find out the name of the setter to call
$setterName = 'set' . ucfirst($key);
$myObject->$setterName($value);
}
return $myObject;
}
Zend_Db_Table_Row는 개체입니다. fetchAll()을 호출하면 Zend_Db_Table_Row 객체 유형의 배열을 반환합니다 (열 이름은 $ row-> column에 액세스하는 보호 된 변수입니다). fetchRow()를 호출하면 단일 Zend_Db_Table_Row 객체가 반환됩니다. 예를 들어
: 당신이 쿼리를 만들기 위해 Zend_Db_Adapter 또는 Zend_Db_Statement를 사용하는 경우에는 몇 가지 다른 동작을 할 수 있습니다
//assume we are working inside a Application_Model_DbTable_
public function fetch() {
$select = $this->select();
//here $result would return an array of Row objects that can be iterated over using a foreach
$result = $this->fetchAll($select);
//here we would return a single Row Object
$select->where('id = ?', $id);
$result = $this->fetchRow($select);
//you can call toArray() on these objects if you need an array
$array = $result->toArray();
}
//if you are using these objects in your application you can always access any of the
//columns using normal object syntax, without the underscores.
$id = $result->id;
$name = $result->name;
.
귀하의 질문을 올바르게 이해 하셨기를 바랍니다.