как передать данные в foreach, где id - это заголовок из foreach, используя laravel? - PullRequest
1 голос
/ 06 мая 2020

У меня есть эти базы данных, и я хочу создать отдельную группу, которая выглядит так ... enter image description here каждое название (черная птица, сокол и т. Д. c) соответствует каждому из id / program, и каждый подзаголовок (продюсер, ассоциированный продюсер, креатив, помощник по производству) - это foreach, где id - заголовок (черная птица, и т. c), и каждое имя ниже подзаголовка - foreach, где id - подзаголовок (режиссер). Итак, простой способ выглядит так. enter image description here

и вот моя база данных. enter image description here

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

контроллер

 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 для всех данных, как я могу это решить? я пробовал это и не работает.

1 Ответ

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

Я жду другого ответа, используя laravel решения, потому что я просто решаю его, используя php, я имею в виду свои решения, такие как грубое форсирование этих проблем, где я просто выбираю данные и делаю их как кристаллические отчеты.

лезвие. 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'));
}

для контроллера, я просто использовал небольшую строку кода чтобы получить идентификатор (на самом деле его тоже можно использовать в поле зрения, но я просто хочу сделать это в laravel, потому что для расширения возможностей используемой мной структуры). Так что надеюсь, что другие люди ответят мне, используя laravel решения (создание контроллера для получения данных)

...