对不起,是这么愚蠢的问题..
我使用Controller,有很多ORM,我想简化这段代码.
我的控制器
public function news(Request $request)
{
$history = Recruitments_status::where('recruitments_status.status',1)->get();
$history_a = Recruitments_status::where('recruitments_status.status',2)->get();
$history_b = Recruitments_status::where('recruitments_status.status',3)->get();
$history_c = Recruitments_status::where('recruitments_status.status',4)->get();
$history_d = Recruitments_status::where('recruitments_status.status',5)->get();
$history_e = Recruitments_status::where('recruitments_status.status',6)->get();
return view('pl_sidebar/news',[
'history' => $history,
'history_a' => $history_a,
'history_b' => $history_b,
'history_c' => $history_c,
'history_d' => $history_d,
'history_e' => $history_e
]);
}
如何简化这个ORM代码?
解决方法:
您的代码将生成多个查询,这是不好的做法.你可以得到一个集合:
public function news(Request $request)
{
return view('pl_sidebar/news', [
'history' => Recruitments_status::whereIn('status', [1, 2, 3, 4, 5, 6])
]);
}
然后在Blade模板中使用此集合:
@foreach ($history->where('status', 1) as $single)
{{ $single->status }}
{{ $single->id }}
@endforeach