2016-10-01 42 views
0

我有以下情況...Laravel模式多個belongsToMany返回null

有用戶屬於組,並且有屬於組的遊戲。

我嘗試獲取所有用戶的組,但返回NULL。

我已經建立了關係如下:

用戶模式:

public function groups(){ 
    return $this->belongsToMany('App\Group', 'group_user'); 
} 

組型號:

public function games(){ 
    return $this->belongsToMany('App\Game'); 
} 

public function users(){ 
    return $this->belongsToMany('App\User', 'group_user'); 
} 

GROUP_USER表

Schema::create('group_user', function (Blueprint $table) { 
    $table->increments('id'); 
    $table->integer('user_id'); 
    $table->integer('group_id'); 
    $table->timestamps(); 
}); 

現在我試着得到所有的團體fr OM A選擇的用戶

$user = User::find(1); 

$userGroups = $user->groups; 

所以不是$羣組是它是NULL用戶的所有組 (有含ID的GROUP_USER表中的條目)

+0

如果用戶belongsToMany羣體比不應該羣體hasMany用戶? – chiliNUT

+0

@chiliNUT如果我錯了,請更正我的錯誤,但這需要用戶擁有group_id,我想避免看到用戶需要有多個組 – ReduceTheRisk

+0

所有內容對我來說都是正確的。 '$ user-> groups() - > get()'返回什麼? –

回答

0

正如所建議的:保羅·施皮格爾

$user->groups()->get() 

工作!謝謝:)

0

你試過嗎?

return $this->belongsToMany('App\User', 'group_user','user_id', 'group_id'); 
+0

是的,我已經試過了,Paul Spiegel建議使用'$ user-> groups() - > get()'。但是,謝謝你的建議! :) – ReduceTheRisk