Список отношений CakePHP HABTM

У меня возникла проблема при попытке составить список (для раздела администратора) отношений HABTM. Вот сделка:

разрешения: 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)
) ...

Есть идеи?


person pawelmysior    schedule 23.02.2010    source источник


Ответы (1)


Я думаю, вам нужно будет использовать foreach и прокрутить свой результат, чтобы восстановить такой новый массив.

$user = array('id' => '1', 'name' => 'Jack');
$data = array();
foreach($permission as $per) {
   $data[] = array($user, $per['Permission'])
}
person Kien Pham    schedule 23.02.2010