CakePHP JOINS Query - PullRequest
       4

CakePHP JOINS Query

1 голос
/ 05 апреля 2011

Я следовал учебнику по поводу разрешений вместо CakePHP. Я не понимаю, как работает эта модель (запрос).

Может кто-нибудь объяснить мне, как работает этот запрос .. Я не могу найти, что именно делает эта переменная hasAndBelongsToMany .

<?php
class Group extends Appmodel {
    var $name = 'Group';
    var $useTable 'groups';
    var $hasAndBelongsToMany = array(
    'Permission' => array('className' => 'Permission',
                    'joinTable' => 'groups_permissions',
                    'foreignKey' => 'group_id',
                    'associationForeignKey' => 'permission_id',
                    'unique' => true
                    )
    'User' => array('className' => 'User',
                    'joinTable' => 'groups_users',
                    'foreignKey' => 'group_id',
                    'associationForeignKey' => 'user_id',
                    'unique' => true
                    ),  
                );
}

1 Ответ

1 голос
/ 05 апреля 2011

Прежде всего, это не запрос.это объявление отношения модели к другим моделям.

$ hasAndBelongsToMany означает, что каждая запись в вашей базе данных связана со многими записями другой таблицы, а многие записи из другой таблицы могут быть связаны с текущейзапись также.

например Книга может иметь много авторов, и у авторов может быть много книг.так что это может быть связано как hasAndBelongsToMany.

в вашем случае Группа имеет много пользователей, а пользователи имеют много групп.то же самое для разрешений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...