2017-02-24 10 views
1

私は異なるテーブルの情報を比較する方法を使用していますが、この方法が本当に最高かどうかわかりません...データが他のテーブル内にあるかどうかをチェック

例:

私のシステムは、従業員の仕事の規模について、私はすべての従業員と秤のテーブルを持っています。私はその規模に任命されたすべての従業員をチェックしたいと思います。 。

foreach($employees as $em) { 
    $continue = false; 
    foreach($employees_scales as $es) { 
     if ($em->id == $ec->em_id && $ec->date == $date_example) { 
      $continue = true; 
     } 
    } 
    if(!$continue){ 
     // List the employee; 
    } 
} 
+0

これは有効なPHPコードではありません。 foreachを見てください - いくつかの変数には '$'がありません。 – Roman

答えて

1

私は非常にあなたのためにEloquentまたはDBを使用することをお勧めしますuch情報

  • あなたは、あなただけのように行う必要があります第二モデル(スケール)その後
  • と多くの関係に多くなりますモデル(従業員)を作成する必要があります。

    $scale->employees; // this will get all employees which has this scale...

多対多関係を作成する方法については、このドキュメントをお読みください。https://laravel.com/docs/5.4/eloquent-relationships#many-to-many

+0

私は理解していますが、問題は、たとえば、時間と日などの情報を検証しなければならないということです。たとえば、その日に従業員が任命されているかどうか、どこで、いつ、どのようにforeachしなければならないかを知る必要があります。 – Drealler

+1

私はあなたがこのようにすることができると確信しています: '$ scale-> whereHas( 'employees'、function($ q){$ q-> where ); – Buglinjo

関連する問題