2016-12-02 7 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) 빈 콜렉션이 있습니다.

이 문제를 어떻게 해결할 수 있습니까?

감사합니다. whereHas에서

+0

이 Users'가'Classes'을 belongsToMany 수 있지만'그것이 아니므로 관련 모델에서 오는 clouse 같은 시간'Classes' hasMany의'Users'에서 ? –

답변

0

빌더 인스턴스가

$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 중간 테이블에 class_id = 1 인 atleast 1 레코드가 있으면 db를 확인할 수 있습니까? –

관련 문제