CakePHP HABTM отношения список - PullRequest
0 голосов
/ 23 февраля 2010

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

права доступа: идентификатор, имя; пользователи: идентификатор, имя пользователя; permissions_users :mission_id, user_id

Permission HasAndBelongsToMany User

Я хочу сделать листинг такой:

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

Подобные вещи: $this->Permission->User->find('all'); (или наоборот) на самом деле не работает, потому что он будет получать много разрешений для Jack, а наоборот, будет получать много пользователей для разрешения posts что делает невозможным перечисление в представлении.

Я хочу получить массив вроде:

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

Есть идеи?

1 Ответ

1 голос
/ 23 февраля 2010

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

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