2014-05-23 101 views
0

我有具有$has_many關係到產品類Product_faq類。我有一個Product類,它與Product_faq類具有$has_many關係。這兩個類使用product_faqs_products表加入。笨的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_id函數返回,因爲越來越product_faqs_products一行。 id該主鍵是25

嘗試where子句foreign_key如下:

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

寶來你好。我不認爲這是正確的。這裏使用'get_by_id'是因爲我只收到一個Product_faq,但是我希望該對象包含一個「product」屬性,該屬性是與此Product_faq相關的三個Product對象的數組。例如,以這種方式工作:'$ faqs = new Product_faq(); $ faqs-> get_by_id(25); $ faqs-> product-> get();' – flyingL123