2016-12-02 206 views
3

我仍然試圖圍繞whereHas()方法包裹我的頭。我的情況是這樣的。我想拉屬於該類的所有用戶laravel從數據庫中提取數據

這是關係

類模型

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)我收到一個空集。

我該如何解決這個問題?

謝謝。

+0

是不是那個'Users'可以belongsToMany'Classes'但在同一時間'Classes'的hasMany'Users' ? –

回答

0
在whereHas

克勞斯建設者實例從相關模型,以便未來,

$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(); 
+0

它仍然給出一個空的集合 – OunknownO

+0

你可以檢查數據庫,如果你的users_classes中間表有至少1記錄class_id = 1? –