Kohana3 ORM Требуется выяснение отношений - PullRequest
0 голосов
/ 14 января 2011

Есть еще одна проблема с ORM.

У меня есть три модели: user.php, tag.php и /user/tag.php.

user.php
Имя
пропуск

Tag.php
Имя
слизняк

/ пользователь / Tag.php
ID
tag_id
user_id

Я создал много отношений между пользователем и моделью user_tag. Поэтому я получаю теги пользователей, используя следующий код:

$user = ORM::factory('user', $user_id);
$tags = $user->tags->find_all();

И вот мой вопрос: возможно ли построить отношение, которое будет автоматически запрашивать имена тегов (или я должен использовать join () или оставить ORM и взять для этого конструктор запросов)?

1 Ответ

0 голосов
/ 14 января 2011

Все, что вам нужно, это has_many через отношение :

$protected $_has_many = array(
   'tags' => array(
      'model'   => 'tag',
      'through' => 'user_tag',
   ),
);

Итак, $user->tags->find_all() вернет массив Model_Tag объектов.

...