Kohana 2.3.4 Запрос сводной таблицы ORM - PullRequest
1 голос
/ 09 апреля 2010

Я пытаюсь запросить сводную таблицу с помощью ORM Коханы, и мне интересно, есть ли встроенная функция, которую я пропускаю. В настоящее время у меня есть только две модели настройки для таблиц "категории" и "продукты". Существует сводная таблица "category_products", но мне не нужна модель для нее при вставке данных с этим:

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

Однако я не могу понять, как сделать запрос, не создав для него модель. Функция "join_table" возвращает только имя сводной таблицы (я думал, что сначала выбрал таблицу). Если вы можете сохранить данные в сводной таблице без модели, мне кажется, что вы должны иметь возможность извлекать данные аналогичным образом. Есть идеи?

Ответы [ 2 ]

0 голосов
/ 26 апреля 2010

Вышесказанное на самом деле не сработало, как и предсказывалось для меня. Я продолжал получать ошибку, что свойство не существует в модели. Этот скрипт работает, хотя.

                $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 голосов
/ 10 апреля 2010

Вы можете получить доступ к своим категориям без какого-либо явного запроса, подобного этому:

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

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

Kohana запросит категории вашего продукта, когда вы впервые попытаетесь получить к ним доступ.

...