CakePHP JOINS查询

时间:2011-04-05 11:13:46

标签: php mysql oop cakephp permissions

我正在关注教程about permissions而不是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 个答案:

答案 0 :(得分:1)

首先,它不是查询。它是模型与其他模型关系的声明。

$ hasAndBelongsToMany表示数据库中的每条记录都与另一个表的许多记录相关联,而其他表中的许多记录也可以与当前记录相关联。

例如,Book可以有很多作者,作者可以有很多书。所以它可以与hasAndBelongsToMany相关联。

在您的情况下,群组有很多用户,用户有很多群组。同样的权限。

相关问题