2010-04-09 135 views
1

我試圖用Kohana的ORM查詢數據透視表,我想知道是否有內置的函數,我想念。目前,我只爲表格「類別」和「產品」設置了2個模型。有一個數據透視表「categories_products」,但與此插入數據時,我不需要爲它的模型:Kohana 2.3.4 ORM數據透視表查詢

$product = ORM::factory('product'); 
$product->add(ORM::factory('category', $addCat)); 

但是,我想不出如何查詢它沒有爲它建立一個模型。 「join_table」函數只返回數據透視表的名稱(我認爲它首先選擇了表格)。如果您可以在沒有模型的情況下將數據保存到數據透視表中,那麼我認爲您應該能夠以類似的方式檢索數據。有任何想法嗎?

回答

0

以上實際上沒有爲我預測的工作。我不斷收到該模型中不存在該屬性的錯誤。這個腳本一直在努力。

   $pivot = ORM::factory('category')->join_table('products'); //pivot table name between products and categories 
      $productsTotal = ORM::factory('product')->join($pivot, $pivot . '.product_id', 'id')->where('category_id', $id)->find_all(); 
+0

ORM沒有'join_table'方法.. – David 2014-05-02 09:38:16

0

您可以訪問類別沒有任何像這樣的明確要求:

$product_object = ORM::factory('product', $your_product_id); 

foreach ($product->categores as category): 
    //access category ORM object... 
endforeach; 

的Kohana會要求類別爲您的產品,當你第一次嘗試訪問他們,我想。