我有这个 MYSQL 查询,需要在 Laravel4 中使用 Eloquent 来制定它。
SELECT DISTINCT Employee.Name, Employee.Id FROM Employee
LEFT JOIN Team ON Employee.Id = Team.EmployeeId AND Team.TeamId = 1;
- 如何在 Laravel 中添加
AND
子句。JOIN
- 如何在 Laravel 4 中向 SELECT 添加 DISTINCT
使用约定或适当的连接创建您的 Employee 模型,$table
然后:
Employee::select(array(DB::raw('DISTINCT `Employee`.`Name`'), 'Employee.Id'))
->leftJoin('Team', function($join)
{
$join->on('Employee.id', '=', 'Team.EmployeeId')
->on('Team.id', '=', DB::raw(1));
})
->get();
如果您只想使用Query Builder
(Fluent),请替换Employee::
为DB::table('Employee')->
.
备注:
DB::raw()
指示 Laravel 不要在此处放置反引号。join
方法,您可以向其添加更多连接条件,on()
将添加AND
条件orOn()
并将添加OR
条件。