2013-05-12 4 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 절을 추가 할 수 있습니다.
    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 (유창함 : 나는

답변

8

Laravel 4의 SELECT에 DISTINCT를 추가 한 후 규칙 또는 적절한 $table 연결 및 사용하여 직원 모델을 만드는 방법을

  • ) 다음 Employee::DB::table('Employee')->으로 바꿉니다. 참고

    :

    • DB::raw()이 backtics을 넣어하지 Laravel을 지시합니다. 당신이 더 추가 여기에 조건을 가입 할 수 있습니다 join 방법에 클로저를 전달하여
    • on()AND 조건을 추가하고 orOn()OR 조건을 추가합니다.
  • +1

    감사합니다. Usman. 그것은 효과가 있었다. –

    +0

    잘 알고 있습니다 :) – Usman

    +0

    SQL 생성 방법을 볼 수 있습니까? – Fractaliste