所以我打破我的头,思考如何preach每一个项目,这里是我在我的控制器上使用这个功能。
控制器
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,我怎么解决这个问题呢??我试过了,但没用。
我使用laravel解决方案等待另一个答案,因为我只是使用php解决它,我的意思是我的解决方案,比如brute强迫解决这个问题,我只是选择数据并使其像Crystal reports一样。
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(实际上它也可以在view中使用,但我只是想在laravel中使用,因为要增强我使用的框架)。所以希望另一个人会回答我使用laravel解决方案(使控制器获得数据)