Eloquent选择每个不同的'id'的第一个?

时间:2014-12-29 08:16:59

标签: php laravel

我有一个包含字段district_id的员工表。我想要一个选择每个区的第一个员工的查询。

目前我手动硬编码:

$tributes = [
Employee::where('district_id', '=' 1)->take(1)->get(),
Employee::where('district_id', '=' 2)->take(1)->get(),
Employee::where('district_id', '=' 3)->take(1)->get(),
...
];

是否可以仅使用一次雄辩电话来完成此操作? 任何志愿者?

2 个答案:

答案 0 :(得分:1)

我不习惯laravel。但下面的内容可能有所帮助。一名员工需要Group by,升序ID将确认第一名员工。

Employee::whereIn('district_id', array(1, 2, 3))
            ->orderBy('employee_id', 'asc')
            ->groupBy('employee_id')                
            ->get();

答案 1 :(得分:0)

尝试在模型中使用whereIn

Employee::whereIn('district_id', array(1, 2, 3))->get()