使用Laravel,如何通过数据透视表检索记录?

时间:2015-08-27 19:10:02

标签: php laravel

我有一个用户模型和一个组模型,由一个数据透视表连接。用户可以在多个组中,组包含多个用户。

我需要检索给定组中的所有用户。到目前为止,这是我的模型和我的控制器代码。我很感激任何帮助 - 我确定我错过了一些明显的东西。我的错误消息取决于我尝试的内容,但使用当前代码:

“Builder.php第1992行中的BadMethodCallException:调用未定义的方法Illuminate \ Database \ Query \ Builder :: users()”

非常感谢!

用户:

class User extends Model implements AuthenticatableContract, CanResetPasswordContract
    {  
    //BLAH BLAH  
    public function groups()
    {
        return $this->belongsToMany('App\Group');        
    }
}

组:

class Group extends Model
{
protected $table = 'groups';

protected $fillable = [
    'name',
    'detail'      
];

public function scopeName($query, $group)
{
    $query->where('name', '=', $group);  
}

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

}

控制器代码:

public function getGroup($query) 
{
    // $query = "name of group" FYI       
    // The task of this function is to return a Datatable object containing all users in the given ($query) group

    $the_group = Group::with('users')->Name($query) -> get();
    dd($the_group->users);  
    return Datatables::of($users)->make(true);
}

0 个答案:

没有答案