2010-07-06 3 views
0

doctrine에서 관계에 해당하는 객체의 속성을 가져올 때 WHERE 절을 추가 할 수 있습니까?관계를 검색 할 때 WHERE 절을 추가 할 수 있습니까?

개념 상, 지난 5 일 동안 작성된 처음 3 개의 블로그 게시물 만 검색하려고한다고 가정 해 봅시다. 내 "블로그"개체에는 관계로 정의 된 "게시물"속성이 있습니다.

업데이트 ...

어떤 사람들은 내가 관계에 의해 무엇을 의미하는지 이해하기 어려움을 겪고있는 것처럼 :

class Blog extends Doctrine_Record { 

     ... 

     public function setUp() { 

      $this->hasMany("Note as Posts", array(
       "local" => "blog_name", 
       "foreign" => "post_id", 
       "refClass" => "BlogPost" 
      )); 

     } 
} 

당신이 볼 수 있듯이,이 교리가 지원하는 명시 적 관계이다. 쿼리 할 때 :

 $instanceOfBlog->Posts........... 

그 때 추가 절을 추가 할 수 있는지 알고 싶습니다.

public function getRecentPosts() 
{ 
    $qry = self::createQuery("b") 
    ->innerJoin("b.Posts p") 
    ->where("p.created_at > ?", date("Y-m-d H:i:s", strtotime("-5 days"))) 
    ->orderBy("p.created_at DESC") 
    ->limit(3); 

    $results = $qry->execute(); 
} 

당신이 후에 무엇인지인가요 : 나는 당신을 따라,하지만 난 당신의 BlogTable 클래스에 다음 생각이 있는지 확인

+0

왜 쿼리를 실행하기 전에 where 절을 추가하지 않습니까? – DrColossos

+0

몇 가지 예제 코드를 제공 할 수 있습니까? – Tom

+0

내가 제공 한 설명에 따라 예제 코드가 필요한지 잘 모르겠습니다. 문제는, 나는 예제를 제공하는 코드를 모른다! 나는 수업에서 관계가있다. 관계에 액세스 할 때 WHERE 절을 추가하려고합니다. 이것이 가능한가? –

답변

3

하지? 이것은 게시물 개체의 created_at 필드를 기반으로하며 BlogPosts 테이블 사이에 관계가 정의되어 있다고 가정합니다.

질문 : 그러나 완전히 질문을 오해했을 수도 있습니다 :-)