2016-10-01 105 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