Kohana 2.3.4 ORM pivot table query

元气小坏坏 提交于 2019-12-08 08:26:51

问题


I'm trying to query a pivot table with Kohana's ORM and I'm wondering if there is a built in function I'm missing. Currently I only have 2 models setup for the tables "categories" and "products". There is a pivot table "categories_products", but I don't need a model for it when inserting data with this:

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

However, I can't figure out how to query it without creating a model for it. The "join_table" function only returns the name of the pivot table (which I thought selected the table at first). If you can save data to the pivot table without a model, it seems to me that you should be able to retrieve data in a similar way. Any ideas?


回答1:


You can access your categories without any explicit request like this:

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

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

Kohana will request the categories for your product when you first try to access them I think.




回答2:


The above actually didn't work as predicted for me. I kept getting an error that the property didn't exist in the model. This script has been working though.

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


来源:https://stackoverflow.com/questions/2610047/kohana-2-3-4-orm-pivot-table-query

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!