2009-08-16 26 views
1

將一張桌面連接到另一張桌面兩次我試圖設置一個社交網站類型的網站,用戶可以在該網站上有好友併發送其他消息。如何使用cakePHP

我有一個用戶表和一個朋友表,它基本上有一個user_id和user_friends_id。 使用cakePHP,我如何將user_id和user_friend_id鏈接回users表? 我用烤箱來創建我所有的模型和控制器,但是當我查看用戶頁面時,我得到一個錯誤,因爲cakePHP不知道如何將user_friend_id鏈接回用戶表。

任何人都可以請幫忙嗎?

回答

2

表名(字段):

users (user_id, user fields....) 
friends_users (user_id, friend_id) 

協會:

User hasAndBelongsToMany Friend 
Friend hasAndBelongsToMany User 

在用戶模型:

var $hasAndBelongsToMany = array(
    'Friend' => array(
     'className' => 'User', 
     'joinTable' => 'friends_users', 
     'foreignKey' => 'user_id', 
     'associationForeignKey' => 'friend_id', 
    ); 

在朋友模型:

var $useTable = 'users'; 
var $hasAndBelongsToMany = array(
    'User' => array(
     'className' => 'User', 
     'joinTable' => 'friends_users', 
     'foreignKey' => 'friend_id', 
     'associationForeignKey' => 'user_id', 
    ); 
+0

非常感謝。 我不知道 'foreignKey'=>'friend_id','associationForeignKey'=>'user_id' 我會給它一個bash – Pierre 2009-08-16 20:12:00