2014-01-08 42 views
1

在Laravel 4中使用Eloquent进行内连接有什么办法吗? 因为我不想显示没有用户的课程。与Laravel 4中的Eloquent在多对多关系中做左连接/内连接

其实我有这个。

控制器:

$courses = Course::all(); 
foreach($courses as $course){ 
    $course->users; 
} 

检视:

@foreach($courses as $course) 
    <h3>{{ $course->course}} :</h3> 
    @foreach($course->users as $user) 
     <p> {{$user->username}} </p> 
    @endforeach 
@endforeach 

类用户:

public function courses(){ 
    return $this->belongsToMany('Course','course_user','id_usuario'); 
} 

类课程:

public function users(){ 
    return $this->belongsToMany('User','course_user','course_id','id_usuario'); 
} 

回答

0

这样的事情应该做,填写你的内部连接。

return $this->belongsToMany('Course','course_user','id_usuario') 
      ->join('students', 'student_user.user_id', '=', 'students.id') 
      ->get(); 

查看文档http://laravel.com/docs/queries#joins了解更多信息!

+0

感谢您的回复。我试了一下,并抛出一个错误,但阅读我认为有('用户')的文档就像内部连接。 – Luco