Как я могу сформулировать этот запрос в Laravel 4
У меня есть этот запрос MYSQL и требуют сформулировать это с помощью Eloquent в Laravel4.
SELECT DISTINCT Employee.Name, Employee.Id FROM Employee
LEFT JOIN Team ON Employee.Id = Team.EmployeeId AND Team.TeamId = 1;
- Как я могу добавить
AND
пункт оJOIN
в Ларавеле. - Как я могу добавить DISTINCT в SELECT в Laravel 4
1 ответ
Решение
Создайте свою модель 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
(Свободно) затем заменить Employee::
с DB::table('Employee')->
,
Примечания:
DB::raw()
поручает Ларавелу не ставить туда спины.- Передав закрытие
join
методы, к которым вы можете добавить больше условий соединения,on()
добавлюAND
состояние иorOn()
добавлюOR
состояние.