Php Laravel项目面板按其优先级排序赢得';行不通
所以呢, 我目前正在开发一个帮助台项目。我需要实现代码,以便仪表板上显示的项目按相关bug优先级排序。我已经建立了一段雄辩的关系,但我无法通过工作获得订单 注意,颜色不随订单编号一起显示,它们显示为灰色。 这就是我所看到的 当我使用:Php Laravel项目面板按其优先级排序赢得';行不通,php,mysql,laravel,eloquent,sql-order-by,Php,Mysql,Laravel,Eloquent,Sql Order By,所以呢, 我目前正在开发一个帮助台项目。我需要实现代码,以便仪表板上显示的项目按相关bug优先级排序。我已经建立了一段雄辩的关系,但我无法通过工作获得订单 注意,颜色不随订单编号一起显示,它们显示为灰色。 这就是我所看到的 当我使用:$projects=Project::with('bug')->get()时代码,而不是带有案例的代码 但是我想要的顺序是:紫色红色绿色 我的控制器代码: public function showDashboard() { $klant_id = Auth
$projects=Project::with('bug')->get()时代码>代码,而不是带有案例的代码
但是我想要的顺序是:紫色
红色
绿色
我的控制器代码:
public function showDashboard()
{
$klant_id = Auth::user()->id;
$bugs = Bug::all();
$bugs_send = Bug::where('klant_id' , '=', $klant_id)->get();
$projects = Project::with(['bug' => function($query){
$query->orderByRaw('
CASE
WHEN prioriteit = "kritisch" THEN 4
WHEN prioriteit = "hoog" THEN 3
WHEN prioriteit = "gemiddeld" THEN 2
ELSE 1
END
','DESC');
}])->get();
$projects_send = Project::where('gebruiker_id', '=', $klant_id)->get();
if(\Auth::guest()){
return redirect('/');
}
else if(\Auth::user()->bedrijf == 'moodles'){
return View::make('/admindashboard', compact('bugs','projects'));
}else{
return View::make('/dashboard', compact('bugs_send','projects_send'));
}
}
显示项目面板的我的代码:
<div class="row">
@if(count($projects) > 0)
@foreach($projects as $pro)
{{-- */$ont=0;/* --}}
{{-- */$i=0;/* --}}
{{-- */$x=0;/* --}}
{{-- */$y=0;/* --}}
{{-- */$krit=0;/* --}}
{{-- */$hoog=0;/* --}}
{{-- */$gem=0;/* --}}
{{-- */$laag=0;/* --}}
{{-- */$crit = '';/* --}}
{{-- */$high = '';/* --}}
{{-- */$avg = '';/* --}}
{{-- */$low = '';/* --}}
{{-- */$panel_type = '';/* --}}
<div class="col-lg-2 col-md-6">
@foreach($pro->bug as $bug)
@if($bug->prioriteit == 'kritisch' && $bug->status != 'gesloten')
{{-- */$crit='kritisch';/* --}}
@elseif($bug->prioriteit == 'hoog' && $bug->status != 'gesloten')
{{-- */$high='hoog';/* --}}
@elseif($bug->prioriteit == 'gemiddeld' && $bug->status != 'gesloten')
{{-- */$avg='gemiddeld';/* --}}
@elseif($bug->prioriteit == 'laag' && $bug->status != 'gesloten')
{{-- */$low='laag';/* --}}
@else
@endif
@endforeach
@if($crit == 'kritisch')
{{-- */$panel_type='purple';/* --}}
@elseif($high == 'hoog')
{{-- */$panel_type='red';/* --}}
@elseif($avg == 'gemiddeld')
{{-- */$panel_type='yellow';/* --}}
@elseif($low == 'laag')
{{-- */$panel_type='green';/* --}}
@else
{{-- */$panel_type='default';/* --}}
@endif
<div class="panel panel-{{$panel_type}}">
<div class="panel-heading" style="padding-left:10px;padding-right:10px;">
<a href="/bugs/{{$pro->id}}">
<div class="row">
@foreach($bugs as $bug)
@if($bug->medewerker_id < 1)
@if($bug->project_id == $pro->id)
{{-- */$ont++;/* --}}
@endif
@endif
@if($bug->prioriteit == 'laag')
@if($bug->project_id == $pro->id)
{{-- */$laag++;/* --}}
@endif
@endif
@if($bug->prioriteit == 'gemiddeld')
@if($bug->project_id == $pro->id)
{{-- */$gem++;/* --}}
@endif
@endif
@if($bug->prioriteit == 'hoog')
@if($bug->project_id == $pro->id)
{{-- */$hoog++;/* --}}
@endif
@endif
@if($bug->prioriteit == 'kritisch')
@if($bug->project_id == $pro->id)
{{-- */$krit++;/* --}}
@endif
@endif
@endforeach
<div id='notificatie'><div>
{{$ont}}
</div></div>
<div class="col-xs-12 text-right pull-right">
<span style="border: solid #ffffff 1px;" class="label label-purple pull-left">{{$krit}}</span>
<small><strong>{{substr($pro->projectnaam,0,15)}}..</strong></small>
<div>
<span style="border: solid #ffffff 1px;" class="label label-danger pull-left">{{$hoog}}</span><span class="badge">
@foreach($bugs as $bug)
@if($bug->status == 'open')
@if($bug->project_id == $pro->id )
{{-- */$i++/* --}}
@endif
@endif
@endforeach
{{$i}}
</span> Openstaand</div>
<span style="border: solid #ffffff 1px;" class="label label-warning pull-left">{{$gem}}</span>
<div><span class="badge">
@foreach($bugs as $bug)
@if($bug->status == 'bezig')
@if($bug->project_id == $pro->id)
{{-- */$x++/* --}}
@endif
@endif
@endforeach
{{$x}}
</span> Bezig</div>
<span style="border: solid #ffffff 1px;" class="label label-success pull-left">{{$laag}}</span>
<div><span class="badge">
@foreach($bugs as $bug)
@if($bug->status == 'gesloten')
@if($bug->project_id == $pro->id)
{{-- */$y++/* --}}
@endif
@endif
@endforeach
{{$y}}
</span> Gesloten</div>
</div>
</div>
</a>
</div>
<a href="/bugs/{{$pro->id}}">
<div class="panel-footer">
<span class="pull-left">Bekijk</span>
<span class="pull-right"><i class="fa fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
</a>
</div>
</div>
@endforeach
@endif
</div>
@如果(计数($projects)>0)
@foreach($pro项目)
{{--*/$ont=0;/*--}
{{--*/$i=0;/*--}
{{--*/$x=0;/*--}
{{--*/$y=0;/*--}
{{--*/$krit=0;/*--}
{{--*/$hoog=0;/*--}
{{--*/$gem=0;/*--}
{{--*/$laag=0;/*--}
{{--*/$crit='';/*--}
{{--*/$high='';/*--}
{{--*/$avg='';/*--}
{{--*/$low='';/*--}
{{--*/$panel_type='';/*--}
@foreach($pro->bug作为$bug)
@如果($bug->prioriteit=='kritisch'&&$bug->status!='gesloten')
{{--*/$crit='kritisch';/*--}
@elseif($bug->prioriteit=='hoog'&&$bug->status!='gesloten')
{{--*/$high='hoog';/*--}
@elseif($bug->prioriteit=='gemiddeld'&&$bug->status!='gesloten')
{{--*/$avg='gediddeld';/*--}
@elseif($bug->prioriteit=='laag'&&$bug->status!='gesloten')
{{--*/$low='laag';/*--}
@否则
@恩迪夫
@endforeach
@如果($crit=='kritisch')
{{--*/$panel_type='purple';/*-}
@elseif($high=='hoog')
{{--*/$panel_type='red';/*-}
@elseif($avg=='gemiddeld')
{{--*/$panel_type='yellow';/*-}
@elseif($low=='laag')
{{--*/$panel_type='green';/*-}
@否则
{{--*/$panel_type='default';/*-}
@恩迪夫
@endforeach
@恩迪夫
修好了
$temp_projects = Project::with('bug')->get();
$projects = array();
foreach ($temp_projects as $project) {
$prio = 0;
foreach ($project->bug as $bug){
if ($bug->prioriteit > $prio && $bug->status != 'gesloten'){
$prio = $bug->prioriteit;
}
}
$projects[$prio][] = $project;
}
krsort($projects);
$temp_projects = $projects;
$projects = array();
foreach($temp_projects as $priority){
foreach ($priority as $project){
$projects[] = $project;
}
}
return View::make('/admindashboard', compact('bugs','projects'));