Kohana 3.0.x ORM: чтение дополнительных столбцов в сводных таблицах - PullRequest
8 голосов
/ 22 декабря 2009

Я использую Kohana v3 и ORM, у меня есть две модели, Model_A и Model_B, связанные "has_many" через сводную таблицу, в которой есть дополнительный столбец. Я могу сохранить данные в этом столбце в сводной таблице, используя третий параметр функции add(), но не могу понять, как читать этот столбец, используя ORM.

Есть идеи? Заранее спасибо.

1 Ответ

8 голосов
/ 23 декабря 2009

Вам нужно создать модель на основе этой сводной таблицы, если вы хотите получить доступ к этому дополнительному столбцу, скажем, мы назовем его Model_A_B.

class Model_A_B extends ORM {

    protected $_belongs_to = array(
        'A' => array(),
        'B' => array()
    );

}

Тогда, если $a является экземпляром Model_A, а $b является экземпляром Model_B, мы получаем экземпляр Model_A_B, вызывая:

$ab = ORM::factory('A_B', array('A_id' => $a, 'B_id' => $b));

if ($ab->loaded()) {
    // do stuff
}
...