symfony 4에서 샘플 리포지토리 클래스를 만듭니다. 이 수업에서 모든 이메일 사용자의 목록을 가져 오는 방법을 만들었습니다. 다음과 같은 배열 구조가 필요합니다.symfony 4, doctrine, getResult 및 getArrayResult 및 getScalarResult가 동일한 구조 결과를 반환합니다.
array(
"email1",
"email2",
"email3",
...
)
하지만 'getResult'를 사용하면 다차원 배열을 얻을 수 있습니다. 그런 다음 getArrayResult 및 getScalarResult를 사용하여 테스트했으며 매번 정확히 동일한 배열 구조 결과를 얻습니다! 다음은
, 내 서비스 클래스 :<?php
class UserRepository extends ServiceEntityRepository
{
public function __construct(RegistryInterface $registry)
{
parent::__construct($registry, User::class);
}
public function getAllEmail(){
$result = $this->createQueryBuilder('u')
->select(array('u.email'))
->setMaxResults(5)
->getQuery();
return array(// getResult && getArrayResult && getScalarResult return exactly same array structure
"getResult" => $result->getResult(),
"getArrayResult" => $result->getArrayResult(),
"getScalarResult" => $result->getScalarResult(),
);
}
}
그리고 결과는 내가 ") (getAllEmail"의 출력을 덤프 때
왜 getResult를/getArrayResult/getScalarResult 정확히 같은 반환 배열 구조? 나는 어딘가에서 실수를합니까?
편집 : 'getResult를'과 'getArrayResult'내가 다차원 배열을 얻기로하고 먼저
:
public function getAllEmail(){
$result = $this->createQueryBuilder('u','u.email')
->setMaxResults(5)
->getQuery();
return array(
"getResult" => $result->getResult(),
"getArrayResult" => $result->getArrayResult(),
"getScalarResult" => $result->getScalarResult(),
);
}
그리고 덤프 출력 : 내 저장소 클래스를 수정 차원, 나는 모든 전자 우편을 얻는다 (전자 우편은 열쇠이다). 나는 나의 목표에 더 접근하지만 완벽하지는 않다. 가능한 한 가장 간단한 쿼리를 실행하기를 원하기 때문에 '경량'방법 (영어로는 유감스럽게 생각합니다. -_-) 만 이메일 (전자 메일 + 다른 쓸모없는 사용자 정보는 아님)을 얻고 싶습니다. 가능한가?
감사합니다, 나는 나의 방법을 modifiy. 나는 differnt 결과를 얻지 만, 나는 단순한 1 차원 배열을 가지고 있지 않다. – user2137454