2016-12-13 13 views
0

私は従業員に注文が割り当てられているサイトを作成しています。 私は割り当てられた注文量が最も少ない従業員に新しい注文を割り当てます。ラーベル選択最小値

その従業員を見つけるために私の現在のコード:

$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値をどうやって割り当てるのですか?

おかげで

答えて

0

私は完全に理解していないが、私はあなたがLaravel 5.3を使用している場合は、次の恩恵を受けると思います。注文数が最も少ない従業員のリストを取得するには、withCountとorderByの組み合わせを使用できる必要があります。

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

ありがとう、問題は、従業員に割り当てられた注文が従業員テーブルにないordersテーブルに格納されていることです。 – user3844579

関連する問題