【问题标题】:Kohana 2.3.4 ORM pivot table queryKohana 2.3.4 ORM 数据透视表查询
【发布时间】:2011-02-06 07:00:48
【问题描述】:

我正在尝试使用 Kohana 的 ORM 查询数据透视表,我想知道是否缺少我缺少的内置函数。目前我只为“类别”和“产品”表设置了 2 个模型。有一个数据透视表“categories_products”,但在插入数据时我不需要模型:

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

但是,如果不为其创建模型,我无法弄清楚如何查询它。 “join_table”函数只返回数据透视表的名称(我一开始以为选择了该表)。如果您可以在没有模型的情况下将数据保存到数据透视表中,那么在我看来,您应该能够以类似的方式检索数据。有什么想法吗?

【问题讨论】:

    标签: php orm pivot-table kohana


    【解决方案1】:

    您可以在没有任何明确请求的情况下访问您的类别:

    $product_object = ORM::factory('product', $your_product_id);
    
    foreach ($product->categores as category):
        //access category ORM object...
    endforeach;
    

    我认为,当您第一次尝试访问您的产品时,Kohana 会请求它们的类别。

    【讨论】:

      【解决方案2】:

      上述内容实际上并没有像我预期的那样工作。我不断收到模型中不存在该属性的错误。这个脚本一直在工作。

                      $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();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-29
        • 1970-01-01
        • 2022-01-05
        相关资源
        最近更新 更多