根据另一个表中的选择结果选择一个表

时间:2014-12-17 02:57:22

标签: php sql laravel laravel-4

我有一张表Registrationrequests,其中有course_iduser_id以及其他字段。

$users_id = Registrationrequest::where('course_id', $query_course_user)->where('registered', 1)->get();

从上面query它给出了一系列结果。但我需要从另一个表Users中获取这些user_id的详细信息。我正在使用Laravel。表格模型为RegistrationrequestUser

如何从上面的选择结果中获取用户详细信息?我在加入时并不是那么好。有什么建议吗?

1 个答案:

答案 0 :(得分:4)

使用Eloquent的whereHas方法:

$courseId = Request::get('course_id');

$users = User::whereHas('registrationRequests', function($query) use ($courseId)
{
    $query->where('course_id', $courseId)->where('registered', 1);
});

这假设您已在User模型中设置了正确的关系。如果没有,请将此方法添加到您的用户模型中:

public function registrationRequests()
{
    return $this->hasMany('Registrationrequest');
}