Laravel 5 - 分组,计算和输出渴望加载的关系

时间:2017-09-06 22:21:26

标签: php laravel laravel-5

Laravel相当新,我正在尝试建立一个网络应用程序,以帮助我运行我的武术业务。非常感谢你的帮助!

概述:

webapp允许我创建课程,我可以将学生技术添加到。每个技术可以有多种变体,但并非所有变体都必须添加到课程中。

添加完成后,我想在一页上为学生显示所有课程/技巧/变奏。

What I want to accomplish

控制器:

HomeController.php:

public function studentProfile($id)
{


     $students = Student::with(['lesson.technique.variation'])->where('id',$id)->get();



    return view('techniques', compact('students'));  
}

查看:

technique.blade.php

@extends('layouts.dashboard.dashboard')

@section('content')
<main class="col-sm-9 ml-sm-auto col-md-10 pt-3" role="main">

@foreach ($students as $student)
  <h1>{{ $student->name }}</h1>
@endforeach 





 <h2>Fundamentals</h2>
      <div class="table-responsive">
        <table class="table table-striped">
          <thead>
            <tr>
              <th>Mount</th>
              <th>#</th>
              <th>Guard</th>
              <th>#</th>
              <th>Side Mount</th>
              <th>#</th>
              <th>Standing</th>
              <th>#</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td><strong>1. Trap and Roll</strong><br>- Standard<br>- Headlock<br>- Punch Block</td>
              <td><br>3<br>4<br>3</td>
              <td><strong>1. Punch Block Stage 1-4</strong><br>- Stage 1<br>- Stage 2<br>- Stage 3<br>- Stage 4</td>
              <td><br>1<br>1<br>1<br>1</td>
              <td><strong>1. Positional Control</strong><br>- Roll Prevention<br>- Guard Prevention<br>- Mount Transition</td>
              <td><br>1<br>1<br>1</td>
              <td><strong>1. Clinch</strong><br>- Aggressive<br>- Conservative</td>
              <td><br>1<br>1</td>
            </tr>

          </tbody>
        </table>
      </div>
     </main>
@endsection

模型:

技术(belongsToMany :: Lesson,hasMany :: Variation):

  • id,
  • name,
  • category,
  • 子类别,
  • 级别,
  • 时间戳

变体(belongsTo :: Technique,belongsTo :: Lesson):

  • id,
  • name,
  • technique_id,
  • 时间戳

学生(belongsTo :: User,belongsToMany :: Lesson):

  • id,
  • name,
  • birthdate,
  • user_id,
  • 时间戳

课程(belongsToMany :: Technique,belongsToMany :: Student,belongsToMany :: Variation):

  • id,
  • name,
  • status,
  • 时间戳

每个都有正确的数据透视表(例如:lesson_variations)。

我可以($学生)看到所有嵌套关系,但我很难理解如何分组并计算结果。我想分组多种方式,包括:

  • 我想按级别(基础,高级)对所有技术进行分组。

  • 然后我想按类别显示所有技术,然后显示SubCategory,最后

  • 我想计算与该技术相关的所有变化,因此,如果有10节课,那么在10节课中,你做了技术陷阱和滚动8次,变化标准6次会显示:

基本面:

分类

子类别

技术

技术的变化算上所有课程。

What I want to accomplish

谢谢!

非常感谢你的帮助!对此,我真的非常感激!完成后,webapp应该完成它的第一个版本,这将有助于我每周节省数小时的工作量!

编辑:

Technique DB Table

0 个答案:

没有答案