цикл по запросу с датой без выборки соответствующих данных - PullRequest
0 голосов
/ 13 февраля 2019

Я пытаюсь найти данные о посещаемости учащегося с помощью идентификатора учащегося и даты из цикла, которая является интервалом, полученным из пользовательского ввода.Но это не работает должным образом.

$newarray=array();

while(date('Y-m-d',strtotime($start_date1))<=date('Y-m-d',strtotime($end_date1))){

    $attendancedate = new \MongoDate(strtotime(date($start_date1)));

    $date_exists = $dm->createQueryBuilder('App\Document\studentattendancelog')                                                                                                           
      ->field('pgmbatchid')->equals($programbatchid)                                          
      ->field('collegeid')->equals($collegeid)                                                                                   
      ->field('termid')->equals($termid)                                                                                  
      ->field('studentid')->equals($studentid)                                                                                  
      ->field('attendenceday')->equals($attendancedate)                                                                                  
      ->field('delstatus')->equals(1)                                                                                  
      ->eagerCursor(true)                                                                                  
      ->getQuery()->toArray();

    $hours = array();
    $harray=array();
    $arr1 = array();

    if($date_exists){

       $hours = $date_exists[0]->getHourlylog();

       foreach($hours as $hour){

          array_push($harray,$hour['hourlystatus']);
          $arr1=array('day' => date('Y-m-d',strtotime($start_date1)),'value'=> $harray);
       }array_push($newarray,$arr1);
   }
   else{
      for($i=1;$i<=5;$i++){    

         $stat = '--';
         array_push($harray, $stat);
         $arr1=array('day' => date('Y-m-d',strtotime($start_date1)),'value'=> $harray);

      }array_push($newarray,$arr1);
  }
  $start_date1 = date("Y-m-d", strtotime($start_date1. "+1 day"));
}

Так как мы пропускаем интервалы дат здесь, поэтому он должен отображать все даты, когда несуществующие даты из базы данных должны показывать результаты с "-" для пятичасы и существующие даты, которые являются датами посещаемости, должны показывать статус тех часов, которые присутствуют или отсутствуют.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...