laravel从数据库中提取数据

时间:2016-12-02 10:23:13

标签: php laravel laravel-5 laravel-5.2

我仍然试图绕过whereHas()方法。我的情况是这样的。我想拉出属于类

的所有用户

这是关系

类模型

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

用户模型

public function classes() {
    return $this->belongsToMany('App\Classes')->withTimestamps();
}

控制器

$class_us = User::whereHas('classes', function ($query) {
    $query->where('class',1);
})->get();

当我dd($class_us)时,我得到一个空集合。

如何解决此问题?

感谢。

1 个答案:

答案 0 :(得分:0)

在whereHas clouse中,构建器实例来自相关模型,

$class_us = User::whereHas('classes', function ($query) {
            // here the builder belongs to Class model not User model
            $query->where('id',1); // id because classes table has column as id
        })->get();