0
我有一個Product_faq類,它與Product類具有$ has_many關係。我有一個與Product_faq類具有$ has_many關係的Product類。這兩個類使用product_faqs_products表連接。CodeIgniter與DataMapper相關的數組對象
我試圖將所有Product_faq對象作爲數組獲取,其中每個對象都包含一個「product」屬性,其中包含與該Product_faq相關的Product對象的數組。下面是我現在怎麼做:
$faqs = new Product_faq();
$faqs->where('deleted', 0)->get();
$data['faqs'] = array();
foreach($faqs as $faq){
$faq_array = $faq->to_array();
$products = new Product();
$faq_array['product'] = $products->where_related($faq)->where_join_field($faq, 'deleted', 0)->get()->all_to_array();
$data['faqs'][] = $faq_array;
}
print_r($data['faqs']);
我覺得有可能是一個更好的方式來做到這一點使用的DataMapper的內置功能,但我不能弄明白。有沒有人知道一個更有效的方法來完成這個?
感謝jonixj。據我所知,沒有傳入字段的'all_to_array()'不包含相關模型。它只包含父模型的數據庫字段。你有沒有看到其他?我相信你對錶名稱不正確。標準連接表名稱應該是這些類的多個版本的組合。在我的情況下,正確的是'product_faqs_products'。 – flyingL123