【问题标题】:CakePHP JOINS QueryCakePHP JOINS 查询
【发布时间】:2011-04-05 11:13:45
【问题描述】:

我正在关注 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
                    ),  
                );
}

【问题讨论】:

标签: php mysql oop cakephp permissions


【解决方案1】:

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

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

例如 Book 可以有很多作者,而一个作者可以有很多书。所以它可以关联为 hasAndBelongsToMany。

在您的情况下,组有很多用户,并且用户有很多组。权限相同。

【讨论】:

    猜你喜欢
    • 2016-10-24
    • 1970-01-01
    • 1970-01-01
    • 2016-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-06
    • 2012-11-13
    相关资源
    最近更新 更多