집 >데이터 베이스 >MySQL 튜토리얼 >교리 2와 함께 MySQL FIELD 함수를 사용하는 방법은 무엇입니까?
Order By에서 Doctrine 2 FIELD 함수 사용
Doctrine 2는 기본적으로 MySQL FIELD 함수를 지원하지 않습니다. 하지만 이 기능을 추가하는 확장 프로그램이 있습니다.
DoctrineExtension 사용
Doctrine 2의 FIELD 기능을 사용하려면 DoctrineExtensions 패키지를 설치할 수 있습니다. 설치한 후에는 Doctrine 구성에 다음 구성을 추가해야 합니다.
<code class="php">$doctrineConfig = $this->em->getConfiguration(); $doctrineConfig->addCustomStringFunction('FIELD', 'DoctrineExtensions\Query\Mysql\Field');</code>
이 구성을 추가한 후 Doctrine 쿼리에서 FIELD 기능을 사용할 수 있습니다.
예
다음 예에서는 FIELD 함수를 사용하여 값 집합별로 쿼리를 정렬하는 방법을 보여줍니다.
<code class="php">$qb = $em->createQueryBuilder(); $qb ->select("r, field(r.id, " . implode(", ", $ids) . ") as HIDDEN field") ->from("Entities\Round", "r") ->where($qb->expr()->in("r.id", $ids)) ->orderBy("field");</code>
이 쿼리는 FIELD 값별로 정렬된 결과를 반환합니다. $ids 배열의 첫 번째 값은 1이고 두 번째 값은 2입니다.
참고:
FIELD 함수는 SELECT, WHERE, BETWEEN 절에 사용됩니다. ORDER BY 절에는 사용할 수 없습니다. 이 제한 사항을 해결하기 위해 위의 예에서는 숨겨진 필드를 사용하여 FIELD 값을 저장합니다.
위 내용은 교리 2와 함께 MySQL FIELD 함수를 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!