0

在尝试制作 HABTM 关系列表(用于管理部分)时,我遇到了很大的问题。这是交易:

权限:ID、姓名;用户:id,用户名;权限用户:权限ID,用户ID

Permission HasAndBelongsToMany User

我想列出这样的清单:

User.id | User.username | Permission.id | Permission.name
1 | Jack | 1 | posts
1 | Jack | 2 | comments
2 | Mark | 1 | posts
3 | Kate | 3 | tags

像: $this->Permission->User->find('all');(或其他方式)这样的东西并没有真正起作用,因为它会为 获取许多权限Jack,反过来它也会为该posts权限获取许多用户,因此无法在视图中列出。

我想要的是得到一个像这样的数组:

[0] = > array(
[User] => array([id] => 1 [username] => Jack)
[Permission] => array([id] => 1 [name] => posts)
)
[1] = > array(
[User] => array([id] => 1 [username] => Jack)
[Permission] => array([id] => 2 [name] => comments)
) ...

有任何想法吗?

4

1 回答 1

1

我认为您需要使用foreachand 循环遍历结果来重建这样的新数组。

$user = array('id' => '1', 'name' => 'Jack');
$data = array();
foreach($permission as $per) {
   $data[] = array($user, $per['Permission'])
}
于 2010-02-23T15:46:08.637 回答