Kohana 3.1 вопрос отношений ORM - PullRequest
1 голос
/ 08 июня 2011

Я пользуюсь kohana3.

таблица: идентификатор пользователя имя пользователя friend_id

user_relationships id user_id friend_id

Я пытаюсь сделать следующее:

Предположим, у меня есть id = 1 в user_table. Тогда я хочу получить массив friend_id для этого пользователя. Предположим, что это будет (2,3). И тогда я хочу получить имя пользователя для id = (2,3)

модель пользователя:

protected $_has_many = array(
    'userrelations' => array()
);

модель отношений с пользователем:

  protected $_belongs_to = array(
    'user' => array(),
);

Контроллер:

$user = ORM::factory('user', 1);
$friends = $user->userrelations->find_all();

Я получаю только ["id"] => string (1) "1" ["user_id"] => string (1) "1" ["friend_id"] => string (1) "2" Что мне написать, чтобы получить то, что я хочу?

Ответы [ 2 ]

0 голосов
/ 09 июня 2011

Итак, это должно быть так:

в модели пользователя:

'friends' => array('model' => 'user', 'through' => 'user_relationships')

и я получаю все данные, необходимые следующим образом:

 $friends = $user->friends->find_all();

где 'friends' - псевдоним, который я использую в пользовательской модели

0 голосов
/ 08 июня 2011

Попробуйте использовать as_array

$user->userrelations->find_all()->as_array('col1', 'col2');
...