2013-05-12 36 views
2

我有这个MYSQL查询并需要在Laravel4中使用Eloquent来制定此查询。如何在Laravel 4中制定此查询

SELECT DISTINCT Employee.Name, Employee.Id FROM Employee 
LEFT JOIN Team ON Employee.Id = Team.EmployeeId AND Team.TeamId = 1; 
  1. 我怎样才能在Laravel的JOIN添加AND条款。
  2. 我怎样才能在Laravel 4添加DISTINCT的SELECT

回答

8

创建约定或适当$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(流利),然后用DB::table('Employee')->代替Employee::

注意

  • DB::raw()指示Laravel不要把 backtics那里。
  • 通过关闭方式可以给join添加更多的加入条件,on()会加上AND条件,orOn()会加上OR条件。
+1

谢谢乌斯曼。有效。感谢您的帮助 – 2013-05-12 18:27:45

+0

相关提示:) – Usman 2013-05-12 18:55:02

+0

有没有办法看到生成的SQL? – Fractaliste 2013-11-27 19:36:47