2017-02-24 24 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来获取s这些信息。

  • 您应该创建模型(员工),其中会有很多与第二模型(比例)
  • 之后,许多关系,你将只需要这样做:

    $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('what'you here');}) - > get( ); – Buglinjo