2011-04-05 75 views
1

我按照教程about permissions代替CakePHP。 我不明白這個模型(查詢)是如何工作的。CakePHP JOINS查詢

任何人都可以解釋我怎麼這個查詢工作..我找不到這個變量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

閱讀本章的食譜:http://book.cakephp.org/view/1044/hasAndBelongsToMany-HABTM – JohnP 2011-04-05 11:43:36

回答

1

首先它不是查詢。它是模型與其他模型關係的聲明。

$ hasAndBelongsToMany表示數據庫中的每個記錄都與另一個表的多個記錄相關聯,並且來自其他表的多個記錄也可以與當前記錄相關聯。

例如書可以有許多作者,作者可以有許多書。所以它可以與hasAndBelongsToMany相關。

你的情況組有很多用戶,並且用戶有很多組。相同的權限。