Laravel选择最小值

时间:2016-12-13 22:04:55

标签: php laravel

我创建了一个将订单分配给员工的网站。 我将新订单分配给分配给订单的订单数量最少的员工。

我目前找到该员工的代码:

$employees=User::whereHas('employee', function ($q) use ($company) {
        $q->where('company_id', $company->id);
    })->get();
    $min='999';
    foreach ($employees as $employee)
    {
        if(Order::where('assigned_to_employee',$employee->id)->count()<$min)
        {
            $assign_id=$employee->id;
            $min=Order::where('assigned_to_employee',$employee->id)->count();
        }
    }

我觉得有更好的方法可以做到这一点,欢迎提出建议。 另外,如果我这样做的方式很好,我如何分配$ min一个最大的int值?

由于

1 个答案:

答案 0 :(得分:0)

我不确定我完全理解,但如果您使用的是Laravel 5.3,我认为您将从以下方面受益。您应该能够使用withCount和orderBy的组合来获取订单数量最少的员工列表。

User::withCount('employee')->orderBy('employee_count', 'asc')->first();