我正在学习教程 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
),
);
}
最佳答案
首先它不是查询。它是模型与其他模型关系的声明。
$hasAndBelongsToMany 意味着你数据库中的每条记录都与另一个表的许多记录相关联,并且其他表中的许多记录也可以与当前记录相关联。
例如,一本书可以有很多作者,一个作者可以有很多书。所以它可以关联为 hasAndBelongsToMany。
在您的情况下,组有很多用户,用户有很多组。权限相同。
关于php - CakePHP 连接查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5550898/