我有这个问题:
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。
答案 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);
});