我試圖使用ORM的第一次,我已經定義了模型是這樣的:ORM:友誼/好友列表關係
用戶模式:
class User extends Eloquent
{
public function friends()
{
return $this->has_many_and_belongs_to('User', 'friends', 'user1_id', 'user2_id');
}
}
朋友型號:
class Friend extends Eloquent
{
public function friend()
{
return $this->belongs_to('User', 'user_id');
}
}
朋友MySQL表:
id (pkey) # user1_id (references users.user_id) # user2_id (references users.user_id)
現在通過使用$user->friends
我得到一個單方面的名單,因爲朋友數據庫參數可以以任意順序(user1的用戶2的朋友OR用戶2爲user1的朋友)。如果我嘗試使用follow/followers的方法,這樣可以,但我希望它是互惠的。
做這種事情的最好方法是什麼?在數據庫中插入重複的user1/user2和user2/user1聽起來不是一個好方法,我甚至不知道如何將其轉換爲ORM。另外,似乎Friend模型沒有被使用/被調用。
我也會在邀請朋友系統上有類似的問題。