如何在Lumen中使用连接

时间:2015-06-30 06:57:38

标签: php laravel join lumen

我有这个问题:

SELECT fname, gender FROM users, speciality WHERE users.id = userSpeciality.user_id AND type = 2

我想在Lumen中使用相同的查询。我尝试过类似的东西,但它不起作用:

$users   = Speciality::join('users', 'users.id', '=', 'speciality.user_id')
           ->where('type' => 2)
           ->select('fname', 'gender')
           ->get();

表:speciality是此处的主要表格。其中包含用户ID。

2 个答案:

答案 0 :(得分:1)

如果Speciality不是Eloquent型号,那么就这样做:

DB::table('speciality')->join(....)->get();

否则patricus发布了right answer

答案 1 :(得分:0)

您的where()参数格式不正确。它应该是where('type', '=', 2)

$users = Speciality::join('users', 'users.id', '=', 'speciality.user_id')
    ->where('type', '=', 2)
    ->select('fname', 'gender')
    ->get();

此外,由于它是您之后的用户信息,如果您正在使用Eloquent且您的关系设置正确,则可以执行以下操作:

User::whereHas('specialty', function($query) {
    $query->where('type', '=', 2);
});