2014-05-23 4 views
0

Product 클래스에 $has_many 관계가있는 Product_faq 클래스가 있습니다. Product_faq 클래스에 $has_many 관계가있는 Product 클래스가 있습니다. 이 두 클래스는 product_faqs_products 테이블을 사용하여 조인됩니다.CodeIgniter DataMapper include_related 관련 모델 하나만 포함

나는 그것에 관련된 제품과 함께 특정 Product_faq를 검색하려면 다음 코드를 사용하는 것을 시도하고있다 :

$faqs = new Product_faq(); 
faqs->include_related('product', null, true, true)->get_by_id(25); 

foreach($faqs->product as $product){ 
    echo $product->id.PHP_EOL; 
} 

가이 product_faq에 관한 세 가지 제품이 있지만,이 코드는 첫 번째를 출력한다 . 이것은 의도 된 기능입니까? 이 쿼리에 관련된 모든 제품을 포함시킬 수있는 방법이 있습니까?

답변

0

get_by_idproduct_faqs_products으로 인해 한 행을 반환합니다.

$faqs->include_related('product', null, true, true)->where('product_id', 25); 
+0

안녕 보라 : 기본 키 (25)

은 다음 foreign_keywhere 절을보십시오입니다 id. 나는 그것이 정확하다고 생각하지 않는다. 'get_by_id'는 하나의 Product_faq만을 얻고 있기 때문에 여기에서 사용됩니다. 그러나이 객체가이 Product_faq와 관련된 세 개의 Product 객체의 배열 인 "product"속성을 포함하기를 원합니다. 예를 들어, 이렇게하면 다음과 같이 작동합니다 :'$ faqs = new Product_faq(); $ faqs-> get_by_id (25); $ faqs-> product-> get();' – flyingL123