2012-03-11 6 views
0

Doctrine 2를 사용하여 엔티티를 관리하고 Zend_Auth를 사용하여 권한을 관리합니다. 난 쉽게 내가 성공적으로 인증Doctrine 2/ZF의 쿼리에서 선택된 열 반환

$user = $this->em->getRepository('Entities\User')->findOneByUsername($username)); 

를 사용하여 사용자의 전체 세부 사항을 얻는다면, 나는 특정 세부 사항

$storage = $auth->getStorage(); 
$storage->write($user); 

이 모두가 잘 작동에 액세스 할 수 있도록 사용자를 저장할 수 있지만, 전체 사용자 세부 정보를 Zend_Auth 저장소에 저장하는 것에 대해 우려하고 있습니다.

내 생각 엔 findOneByUsername이 반환 한 열을 제한하는 것이 었습니다 (암호 및 기타 결과 제거). Doctrine 문서를 읽는 것은 가능하지 않습니다. 나는 또한 queryBuilder를 보았지만 (그리고 적당한 쿼리를 만들 수도있다), 한번만 모든 것을 선택할 수있을 것 같다.

쿼리 결과를 몇 개의 열로 제한하는 가장 좋은 방법은 무엇입니까?

답변

1

세션에서 사용자 개체를 저장하는 것은 좋지 않습니다. 필요한 경우 사용자 ID를 저장하고 데이터베이스를 쿼리하여 인스턴스 변수에 사용자 개체를 저장해야합니다. here 예제를 작성하는 방법에 대한 예제가 많이 있습니다. $query->getResult()에 의해 다시 주어진 유형은 select 문에 따라 달라집니다. 모든 필드를 선택하지 않으면 배열이 반환됩니다.

+0

매뉴얼에 직접 문의 해 주셔서 감사합니다. 웬일인지 나의 google은 doctrine 매뉴얼에 많은 페이지를 사용할 수 없다. 당신의 도움을 주셔서 감사합니다! – C4PO