我有这个MYSQL查询,需要在Laravel4中使用Eloquent来制定它。
SELECT DISTINCT Employee.Name, Employee.Id FROM Employee
LEFT JOIN Team ON Employee.Id = Team.EmployeeId AND Team.TeamId = 1;
AND
添加JOIN
子句。 答案 0 :(得分:8)
使用约定或正确的$table
连接创建您的Employee模型,然后:
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
(流利),请将Employee::
替换为DB::table('Employee')->
。
备注强>:
DB::raw()
指示Laravel不要放
那里的背景。join
方法,您可以为其添加更多连接条件,on()
将添加AND
条件,orOn()
将添加OR
条件