2016-06-28 16 views
0

我有一個表用戶擁有衆多用戶的關係,CakePHP的方式

Users: 
id|name|surname 

現在我需要涉及用戶彼此使得每個用戶有許多用戶(被很多用戶其實我的意思是朋友,例如臉書朋友)。

繼CakePHP的約定一個可能會用這樣一個奇怪的表結束:

Users 
id|name|surname 

UserUsers 
id|user_id|user_id 

什麼是修改我的結構來實現這一目標的最佳途徑。請注意,在我搜索之前,這可能已經被問過了,它沒有被特別要求CakePHP 3.X考慮CakePHP約定和所有。

+2

的加入應該是UsersUsers表名,你不能有2 USER_ID在同一個數據庫表申請。我將添加名爲Friends的第二個模型,該模型連接到Users表並且具有UsersFriends連接模型。 – rrd

+0

您正在使用的CakePHP版本,或者甚至完全使用CakePHP,對答案沒有影響。這有點像是要求從A到B **的行車路線,專門用於藍色汽車**。 – AD7six

+0

[CakePHP 2.x中的友誼]的可能重複(http://stackoverflow.com/questions/11277974/friendships-in-cakephp-2-x)(首先發現重複,如果它不能解決你的問題,請搜索對於「友情模式」或類似) – AD7six

回答

0

我相信你可以在你的UsersTable蛋糕3這樣定義的關係:

$this->belongsTo('Users', [ 
      'className' => 'Users', 
      'foreignKey' => 'facebook_user_id', 
      'joinType' => 'LEFT' 
     ]); 

你必須定義一個facebook_user_id,並將它設置爲外鍵,您的ID。