2010-04-09 104 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会要求类别为您的产品,当你第一次尝试访问他们,我想。