我正在关注教程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
),
);
}
答案 0 :(得分:1)
首先,它不是查询。它是模型与其他模型关系的声明。
$ hasAndBelongsToMany表示数据库中的每条记录都与另一个表的许多记录相关联,而其他表中的许多记录也可以与当前记录相关联。
例如,Book可以有很多作者,作者可以有很多书。所以它可以与hasAndBelongsToMany相关联。在您的情况下,群组有很多用户,用户有很多群组。同样的权限。