2

我有这个 MYSQL 查询,需要在 Laravel4 中使用 Eloquent 来制定它。

SELECT DISTINCT Employee.Name, Employee.Id FROM Employee
LEFT JOIN Team ON Employee.Id = Team.EmployeeId AND Team.TeamId = 1;
  1. 如何在 Laravel 中添加AND子句。JOIN
  2. 如何在 Laravel 4 中向 SELECT 添加 DISTINCT
4

1 回答 1

8

使用约定或适当的连接创建您的 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条件。
于 2013-05-12T14:48:42.047 回答