微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 如何简化Laravel ORM

对不起,是这么愚蠢的问题..

我使用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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐