1

我正在使用kohana3。

表:用户 id 用户名friend_id

user_relationships id user_idfriend_id

我正在尝试执行以下操作:

假设,我在 user_table 中有 id = 1。然后我想得到这个用户的朋友 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" 我应该写什么得到我想要的?

4

2 回答 2

0

尝试使用as_array

$user->userrelations->find_all()->as_array('col1', 'col2');
于 2011-06-08T15:12:28.257 回答
0

所以,它应该是这样的:

在用户模型中:

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

我得到了像这样需要的所有数据:

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

其中“朋友”是我在用户模型中使用的别名

于 2011-06-09T09:16:16.990 回答