如何按年份过滤 laravel 4.2 应用程序中的所有查询结果



我想为所有应用程序查询添加一个过滤器,以获得特定年份的结果。

我将今年的情况放入会议中,如下所示:

public function postLogin()
{
    Session::put('currentYear', date("Y"));
}

我的应用程序中有许多控制器。我希望任何模型的查询结果按会话年份过滤 => 会话::get('当前年份'(

有很多模型;例如,我有一条查看所有用户、教师和学生的路线。

public function getList()
{
    $data['students'] = User::where('group_id', '=', 4)->get();
    return View::make('students.list', $data);
}

我可以在 BaseController 中放入 __construct 以按Session::get('currentYear')过滤所有应用程序查询吗?

我会创建一个存储库类,其中包含提供所需基本查询的方法,例如 function getUserBaseQuery() { return User::where('year', '=', Session::get('currentYear')); }

显然,请确保设置currentYear - 并在尚未运行get()的情况下返回此内容。

然后,每当您进行查询时,都会获取此基本查询,添加更多操作(限制,订单等(并运行get()

这样,您可以使用筛选器进行访问,而不会造成一些全局潜在损害,并通过选择该基本查询来了解运行哪些筛选器。

这对你有意义吗?

相关内容

  • 没有找到相关文章

最新更新