【问题标题】:How to group data based on year and semester for printing in Laravel Blade如何根据年份和学期对数据进行分组以在 Laravel Blade 中打印
【发布时间】:2021-09-19 10:18:59
【问题描述】:

我有一个数据,我想根据他们的学年和学期按组打印。在 MS Access 中,我可以使用关系和组报告来做到这一点。我在 Laravel 中做,但我遇到了困难。

这里是示例记录

SUBJECT CODE DESCRIPTIVE TITLE UNITS GRADE CREDIT SY SEM
BMATH 01 BUSINESS MATHEMATICS 3 2.25 3 2017-2018 1st
BMATH 02 MATH OF INVESTMENT 3 2.00 3 2017-2018 2nd
BUSCOR BUSINESS ENGLISH CORRESPONDENCE 3 2.00 3 2018-2019 1st
ECO 01 INTRO TO ECONOMICS WITH LAND REFORM AND TAXATION 3 1.75 3 2017-2018 1st
ECO 02 MICROECONOMICS THEORY AND PRACTICE 3 1.75 3 2017-2018 2nd
ELEC 01 PROJECT DEVELOPMENT MANAGEMENT 3 1.50 3 2018-2019 1st
ELEC 09 BUSINESS ETHICS 3 2.75 3 2019-2020 1st
ELEC B FRANCHISING 3 2.00 3 2019-2020 1st
ELEC BA 3 COOPERATIVE MANAGEMENT 3 1.50 3 2018-2019 2nd
ELEC BA 5 FEASIBILITY STUDY 3 1.75 3 2018-2019 2nd
ELEC BA 6 RISK MANAGEMENT 3 2.50 3 2019-2020 1st

我想像这样打印和分组它们

SUBJECT CODE DESCRIPTIVE TITLE GRADE CREDIT
-----------------------------

2017-2018

1st

-----------------------------
BMATH 01 BUSINESS MATHEMATICS 2.25 3
ECO 01 INTRO TO ECONOMICS WITH
LAND REFORM AND TAXATION
1.75 3
-----------------------------

2017-2018

2nd

-----------------------------
BMATH 02 MATH OF INVESTMENT 2.00 3
ECO 02 MICROECONOMICS THEORY
AND PRACTICE
1.75 3

等等等等。

Laravel 可以输出这个打印报告吗?

这是我的控制器:

public function viewTOR($id){


        $student = Student::where('stud_no', $id)->first();

        $grades = DB::table('grades')
        ->distinct()
        ->leftJoin('subjects', function($join)
            {
                $join->on('subjects.subj_code', '=', 'grades.subj_code');
  
             })
        ->where('grades.student_number', '=', $id)
       
        ->get();
    
       
        //echo "<pre>"; print_r($unitsSum);die;
       return view('admin.grades.viewtor', ['grades'=>$grades,'student'=>$student]);

    }

这是我的刀片文件


<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta name="description" content="">
    <meta name="author" content="">
    <link rel="icon" href="{{url('images/front_images/smmclogo.jpg')}}">

    <title>Transcript of Records</title>

    <link rel="canonical" href="https://getbootstrap.com/docs/4.0/examples/checkout/">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
    <!-- Bootstrap core CSS -->
    <link href="{{url('css/bootstrap.min.css')}}" rel="stylesheet">

    <!-- Custom styles for this template -->
    <link href="{{url('css/form-validation.css')}}" rel="stylesheet">
   
<style>
table.bordered{
    border:1px solid black;
    margin-top:20px;
    margin-bottom:20px;
  }
table.bordered > thead > tr > th{
    border:1px solid black;
}
table.bordered > tbody > tr > td{
    border:1px solid black;
}
  </style>

  </head>

  <body class="bg-light" style="font-family:Arial Narrow">

        <div class="col-md-12 order-md-2">
        <h2 class="mb-3 text-center font-weight-bold"  style="color:#1a0dab;font-family:sans-serif;font-weight:900px">SAN MATEO MUNICIPAL COLLEGE</h2>

          <h5 class="mb-3 text-center font-weight-bold"  style="color:#1a0dab;font-family:sans-serif">OFFICE OF THE COLLEGE REGISTRAR</h5>

          <p class="text-center font-weight-bold" style="color:#1a0dab;font-family:sans-serif;font-size:24px">STUDENT'S CHECKLIST</p>
           
            <p class="text-center font-weight-bold" style="line-height:5px;">(Not Valid for Transfer)</p>
           <BR>
         <div class="row" >
                <div class="column" style="margin-left:40px;width:800px;">
                  <table style="margin-left:20px;width:600px;border:0px">
                    <tr>
                        <td >Student Number:</td>
                        <td style="border-bottom:1px solid"><b>{{ $student->stud_no}}</b></td>
                    </tr>
                    <tr >
                        <td>Name:</td>
                        <td style="border-bottom:1px solid"><b>{{ $student->lastname}}, {{ $student->firstname}} {{ $student->middleinitial}}.</b></td>
                    </tr>
                    <tr >
                        <td>Program:</td>
                        <td style="border-bottom:1px solid"><b>{{ $student->course}}</b></td>
                    </tr>
                  </table>
                 
                </div>
                <div class="column" >
                  
                <table style="margin-left:20px;width:400px;border:0px">
                    <tr >
                        <td>Year Level:</td>
                        <td style="border-bottom:1px solid"><b>{{ $student->year_level}}</b></td>
                    </tr>
                   
                  </table>
                </div>
                </div>
                <br>
              
            <table class="table-sm bordered" style="margin-left:25px;border:1px solid black">
                            <thead>
                                <tr  class="text-center" style="width:100%;color:#1a0dab;font-weight:BOLD;font-family:Helvetica" >
                              
                                <th scope="col">SUBJECT CODE</th>
                                <th  scope="col">DESCRIPTIVE TITLE</th>
                               
                                <th  scope="col">GRADE</th>
                                <th scope="col">CREDIT</th>
                                
                                </tr>
                            </thead>
                            <tbody >
                            @foreach($grades as $gr)
                                <tr >
                               
                                <td  style="width:15%">{{ $gr->subj_code}}</td>
                                <td  style="width:30%">{{ $gr->subj_desc}}</td>
                              
                                <td class="text-center">{{ $gr->grade}} </td>
                                <td  style="width:10%">{{ $gr->list1}} </td>
                               
                             
                                </tr>
                                @endforeach

                                
                            </tbody>
                          
            </table>

     
       
        
        </div>
      </div>
 
      

      
    </div>

    <!-- Bootstrap core JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
   <!--  <script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery-slim.min.js"><\/script>')</script>-->
    <script src="{{url('js/vendor/popper.min.js')}}"></script>
    <script src="{{url('js/front_js/bootstrap.min.js')}}"></script>
    <script src="{{url('js/vendor/holder.min.js')}}"></script>
    <script>
      // Example starter JavaScript for disabling form submissions if there are invalid fields
      (function() {
        'use strict';

        window.addEventListener('load', function() {
          // Fetch all the forms we want to apply custom Bootstrap validation styles to
          var forms = document.getElementsByClassName('needs-validation');

          // Loop over them and prevent submission
          var validation = Array.prototype.filter.call(forms, function(form) {
            form.addEventListener('submit', function(event) {
              if (form.checkValidity() === false) {
                event.preventDefault();
                event.stopPropagation();
              }
              form.classList.add('was-validated');
            }, false);
          });
        }, false);
      })();
    </script>
  </body>
</html>

Laravel 是否有其他方法或功能可以使这成为可能。 非常感谢。。

【问题讨论】:

    标签: javascript php html ajax laravel


    【解决方案1】:

    我就是这样做的:

    $grades = $grades->groupBy(function($grade) {
      return $grade->sy.' '.$grade->sem;
    })->sortKeys();
    
    <table class="table">
        <thead>
            <tr>
                <th>SUBJECT CODE</th>
                <th>DESCRIPTIVE TITLE</th>
                <th>GRADE</th>
                <th>CREDIT</th>
            </tr>
        </thead>
        <tbody>
            @foreach($grades as $sysem => $semgrades)
                <tr><th colspan="4" style="text-align:center;">{{ $sysem }}</th></tr>
                @foreach($semgrades as $grade)
                    <tr>
                        <td>{{ $grade->subj_code }}</td>
                        <td>{{ $grade->descriptive_title }}</td>
                        <td>{{ $grade->subj_desc }}</td>
                        <td>{{ $grade->list1 }}</td>
                    </tr>
                @endforeach
            @endforeach
        </tbody>
    </table>
    

    【讨论】:

      猜你喜欢
      • 2021-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-07
      • 2016-10-10
      • 2018-12-31
      • 1970-01-01
      • 2020-01-20
      相关资源
      最近更新 更多