как получить ежемесячный отчет о посещаемости в Laravel - PullRequest
0 голосов
/ 08 мая 2018

Все сделано успешно, но застрял только с отчетом о работе. Пожалуйста, помогите мне

Как получить данные для ежемесячного отчета о посещаемости в Laravel 5.5

This Is My Result

Вот мой MySQL запрос

<- язык: lang-sql ->

$data = DB::table("attendance_management")->select('attendance_management.*',
        DB::raw('group_concat(attendance ORDER BY date) as atten'),
        DB::raw('group_concat(date ORDER BY date) as date_att')
    )->whereYear('date', '=', $year)
    ->whereMonth('date', '=', $month)
    ->groupBy('employee_name')
    ->orderBy('attendance_management.date', 'ASC')
    ->get();

Это мой Mysql Table

Date    client_id   Name   Attendance
01-05-18  34        Hitesh  Leave   
02-05-18  34        Hitesh  Leave   
03-05-18  34        Hitesh  Leave   
02-05-18  21        udip    Full-Day
01-05-18  21        udip    Full-Day
03-05-18  21        udip    Leave

Это View.blade.php

   @foreach($data as $data)
    <tr class="odd gradeX">
      <td>{{$data->shift}}</td>
      <td> {{$data->employee_name}} </td>
        <?php
        $dateaa = explode(',', $data->date_att);
        $attendance = explode(',', $data->atten);
        $daysInMonth = cal_days_in_month(CAL_GREGORIAN,$month, $year);  
        for($i=1; $i<=$daysInMonth; $i++)
        {
         $db_date = $data->date;
         $resultDate = sprintf('%02d', $i);
         $date1 = $year.'-'.$month.'-'.$resultDate;
         if($i==$db_date[2])
         {
           $x = 0;
           foreach($attendance as $key=>$value)
           {
             $x++;
             if($x==$key+1)
             {                                                   
                if($value=="Full-Day")
                {
                  $status = "P";
                  ?><td><?php echo $status; ?></td><?php
                }
                else
                {
                  $status = "A";
                  ?><td><?php echo $status; ?></td><?php
                }
              }
              else
              {
               //echo $x;
              }
          }
       }
       else
       {
          //echo $i;
       }
     }
     ?>
     <td> 25 </td>
     </tr>
    @endforeach

1 Ответ

0 голосов
/ 08 мая 2018

Используйте эту библиотеку в вашем laravel, установив пакет из github https://github.com/briannesbitt/Carbon. и используйте этот код для получения записей текущего месяца

Attendance::whereMonth('created_at', date('m'))
            ->whereYear('created_at', date('Y'))->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...