나는 교리의 문서에서 수화에 대해 읽었지만 여전히 그것이 무엇인지 이해할 수 없습니다.
누군가 설명해 주시겠습니까?
답변
Hydration은 쿼리 결과를 반환하는 데 사용되는 방법입니다. 예를 들면 :
-
HYDRATE_ARRAY
-그러면 다른 배열로 표시되는 레코드 배열이 반환됩니다.$q = Doctrine_Query::create() ->from('Post p') ->setHydrationMode(Doctrine::HYDRATE_ARRAY); $resultSet = $q->execute(); // $resultSet is an array foreach ($resultSet as $post) { // $post is an array echo $post['title']; }
-
HYDRATE_RECORD
-그러면 개체 컬렉션 ( Doctrine_Collection ) 이 반환 됩니다.$q = Doctrine_Query::create() ->from('Post p') ->setHydrationMode(Doctrine::HYDRATE_RECORD); // Unnecessary, HYDATE_RECORD is default method $resultSet = $q->execute(); // $resultSet is an Doctrine_Collection object foreach ($resultSet as $post) { // $post is an Post object echo $post->getTitle(); echo $post['title']; // Each Doctrine's Model object implements ArrayAccess interface so this is possible echo $post->myCustomMethod(); }
-
HYDRATE_SINGULAR_SCALAR
-쿼리 결과의 첫 번째 열 값을 반환합니다.$q = Doctrine_Query::create() ->select('p.created_at') ->from('Post p') ->where('p.id = ?', 321) ->setHydrationMode(Doctrine::HYDRATE_SINGULAR_SCALAR); $createdAt = $q->execute(); // $createdAt has value of first column from first record from result set (eg.: 2008-04-06 21:22:35)
몇 가지 방법이 더 있으며 문서에서 각각에 대해 읽을 수 있습니다.
답변
$q->fetchOne(array(), Doctrine_Core::HYDRATE_ARRAY);
교리 수집 객체 대신 단순한 배열 만 반환합니다.