【问题标题】:how to passng data into foreach where id is the header from foreach using laravel?如何将数据传递到 foreach 中,其中 id 是使用 laravel 的 foreach 的标头?
【发布时间】:2020-08-20 19:02:39
【问题描述】:

我有这个数据库,我想创建一个单独的组,看起来像这样...... 每个标题(黑鸟、猎鹰等)都是来自id/program 的 foreach,每个子标题(制作人、副制作人、创意、制作助理)都是 foreach,其中 id 是标题(黑鸟等),并且每个名称下面的子标题都是 foreach,其中 id 是子标题(生产者)。所以简单的方法是这样的。

这是我的数据库。

所以我绞尽脑汁思考如何处理每个项目,这是我在控制器上使用此功能。

控制器

 public function listReportCrew(){
    $id = DB::select('select distinct show_name from view_mastercrewprogram');

        $getpost = array();                           
        foreach($id as $program){
            $positions = array(DB::select("select distinct crewprogramposition_name
                                        from view_mastercrewprogram where show_name = '". $program->show_name ."'"));
            array_push($getpost, $positions);
        }

        $getemployee = arreay();
        foreach($getpost as $postname){
            $employee = array(DB::select("select employee_nik, employee_nama 
                                        from view_mastercrewprogram where crewprogramposition_name =
                                        '". $postname->crewprogramposition_name. "'"));
            array_push($getemployee, $employee);
        }
    // $reportviewall = ReportViewAll::all();
    return view('CrewProgram.ListReportCrew.index', compact('id', 'getpost', 'getemployee'));
}

所以基本上我尝试获取每个项目并将其放入数组中,并在我的职位和我的员工之前做两次类似的事情,另一部分在这里我在我的刀片上放了一些 foreach 可以使其循环并像这样结束

索引刀片 php

@foreach($id as $program)
   <div class=" mt-5 ml-2 mr-3">
     <div class="row">
       <div class="text-center">
         <h4>{{$program->show_name}}</h4>
       </div>
     </div>
   <div class="row">
       @foreach($getpost as $positions)
         <div class="col">
           <div>
              <div>{{$positions->crewprogramposition_name}}</div>

                 @foreach($getemployee as $employee)
                  <p>{{$employee->employee_name}}</p>
                 @endforeach

             </div>
        </div>
        @endforeach
     </div>
   </div>
 @endforeach

基本上我只想foreach一个标题,foreach一个副标题,然后foreach每个员工姓名,每个数据只需要多个foreach,我该如何解决?我试过了,没有用。

【问题讨论】:

    标签: php laravel foreach


    【解决方案1】:

    我使用 laravel 解决方案等待另一个答案,因为我只是使用 php 解决它, 我的意思是我的解决方案,比如暴力破解这个问题,我只是选择数据并使其像水晶报告一样。

    blade.php

    <?php
     echo '<div class="container  card shadow m-3">
     <div class="card-body m-2 p-2">
      <div class=" mt-5 ml-2 mr-3">
     <div class="row">';
    
        foreach($id as $program){
                echo '<div><hr><h1>'.$program->show_name.'</h1><div><hr>';
    
        $positions = DB::select("select distinct crewprogramposition_name from view_mastercrewprogram where show_name = '".$program->show_name."'");
    
        foreach($positions as $post){
           echo '<br><div>'.$post->crewprogramposition_name.'<div>';
    
           $employee = DB::select("select employee_nama
            from view_mastercrewprogram where crewprogramposition_name = '"  .$post->crewprogramposition_name."' AND show_name = '".$program->show_name."'");
    
            foreach($employee as $emp){
              echo '<div>'. $emp->employee_nama.'<div>';
            }
        }
    }
    
     echo '</div></div></div></div>';
    ?>
    

    控制器

    public function listReportCrew(){
        $id = DB::select('select distinct show_name from view_mastercrewprogram');
        return view('CrewProgram.ListReportCrew.index', compact('id'));
    }
    

    对于控制器,我只使用了一小行代码来获取一个 id(实际上它也可以在视图中使用,但我只想在 laravel 中制作它,因为我使用的框架具有授权)。所以希望其他人会使用 laravel 解决方案回答我(制作控制器以获取数据)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-26
      • 1970-01-01
      • 1970-01-01
      • 2013-06-20
      • 1970-01-01
      • 2015-12-20
      • 2018-04-14
      • 1970-01-01
      相关资源
      最近更新 更多