2013-09-27 74 views
1

我正在構建註冊表單,並在此用戶註冊表單上添加多個用於描述他們可以說的語言的輸入框。Laravel關係如何使用用戶可以說多種語言

我想能夠使用Laravel關係。

我有3個表 - 用戶 - LanguageList(用戶ID | languageid) - 語言(定義)

我想確認這是正確的關係 用戶{{一對多}} languagelist {{one to one}}語言

回答

1

那麼,你應該發佈一些代碼,反正,如果我明白你的問題,那麼這是可能的,因此,用戶可以知道多種語言,User模型可以與多種語言語言列表)

class User extends Eloquent { 

    public function languagelist() 
    { 
     return $this->hasMany('languagelist'); // user.id = languagelist.user_id 
    } 
} 

在這種情況下,默認的外鍵將user_id,如果你有關係,在你的languagelist不同外鍵UserLanguagelist之間,那麼你必須通過外鍵像

return $this->hasMany('languagelist', 'custom key'); 

現在,在(每用戶)languagelist上市語言可能與存儲在languages表,並在這種情況下,語言one-to-one關係,你必須創建一個使用

languages之間的關係
class Languagelist extends Eloquent { 
    public function language() 
    { 
     return $this->hasOne('language'); // default foreign key- languagelist_id 
    } 
} 

可以使用

class Language extends Eloquent { 
    public function languagelist() 
    { 
     return $this->belongsTo('languagelist'); 
    } 
} 

瞭解更多關於Laravel website創建關係的逆。

相關問題