>데이터 베이스 >MySQL 튜토리얼 >교리 2와 함께 MySQL FIELD 함수를 사용하는 방법은 무엇입니까?

교리 2와 함께 MySQL FIELD 함수를 사용하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-30 04:54:031025검색

How to Use the MySQL FIELD Function with Doctrine 2?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.