저는 querybuilder를 사용하여 EntityRepository로 쿼리를 작성합니다. 나는 ManyToOne 관계 (ID에 의해) 대신 관계의 값으로 쿼리를 주문하려고 해요. 아래 코드 스 니펫.Symfony3 QueryBuilder orderBy 엔티티 필드
namespace AppBundle\Entity\Repository;
class ContratoRepository extends EntityRepository
{
public function getWithoutParams($ops)
{
$query=$this->createQueryBuilder('e')
->orderBy('e.proc','ASC');
return $query->getQuery()->getResult();
}
이제 내 기업
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Table()
* @ORM\Entity(repositoryClass="AppBundle\Entity\Repository\ContratoRepository")
*/
class Contrato
{
...
/**
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\ContratosAdmin\Proc")
* @ORM\JoinColumn(name="id_proc", referencedColumnName="id_proc")
* @ORM\OrderBy({"name" = "ASC"})
**/
private $proc;
이제 내 질문에, 그것은 내 PROC 법인 내부의 "이름"필드에 의해 주문 가능합니까? 지금은 그대로 이드의 주문입니다.
감사합니다. 감사합니다.
'ContratoRepository'에서'Contrato'와'Proc' 엔티티의 데이터를 검색하기 위해'join' 요청을 시도하십시오. queryBuilder 요청에서'-> orderBy ('p.name', 'ASC');''p '는'Proc' 엔티티를 나타냅니다. –
감사합니다 Grechka 내 문제가 해결되었습니다. – Noize