我有这个 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条件。