2013-07-11 2 views
0

저는 Symfony2가 새로 도입되었으며 매핑 된 엔티티에만있는 param과 함께 "findBy"를 사용할 수있는 방법이 있는지 알고 싶습니다. symfony 2 "findBy"컨트롤러에 매핑 된 엔티티 매개 변수

내 조각 컨트롤러 :

$prods = $em->getRepository('EcommerceProductBundle:ProductData') 
    ->findBy(array(
     'product_id'=>46 
    )); 

그것은 잘 작동하지만 내가 매핑 된 엔티티에 존재하는 배열에 다른 요소를 추가하려고하면, 그것은 (바르게)이 오류가

Unrecognized field: ProductImage.is_visible 

내가하고 싶은 것은, "filterBy"를 ProductData 엔터티의 매핑 된 요소와 함께 사용할 수 있다는 것을 아는 것입니다.

은 내가 잘못에있어하지만 내 생각이다 :

->findBy(array(
    'product_id'=>46, 
    'ProductImage.is_visible'=>1  
)); 

답변

0

당신이 조인 절 저장소에서 사용자 지정 방법을 쓸 필요가 있다고 할 수 없다.

findBy 메서드는 조건에 where 절을 추가하기 만합니다.

0

내가 아는 한 불가능합니다.

public function findByIdAndVisibleImage($id) 
{ 
    return $this->createQueryBuilder('product') 
     ->lefJoin("product.image","i") 
     ->where("product.product_id = :id") 
     ->andWhere("i.is_visible = 1") 
     ->setParameter("id", $id) 
     ->getQuery() 
     ->getSingleResult(); 
} 
+0

네가 이미 사용자 정의 된 쿼리를 작성했지만,이 옵션이 없으면 가능한지 알고 싶다. 어쨌든 고마워, . –