Mag*_*mid 5 php model filter laravel-4
我想为所有应用程序查询添加一个过滤器,以获得特定年份的结果.
我将当前年度纳入会议,如下所示:
public function postLogin()
{
Session::put('currentYear', date("Y"));
}
Run Code Online (Sandbox Code Playgroud)
我的应用程序中有很多控制器.我希望任何模型的查询结果按会话年过滤=> Session :: get('currentYear')
我有很多模特; 例如,我有一条路线可以查看所有用户,教师和学生.
public function getList()
{
$data['students'] = User::where('group_id', '=', 4)->get();
return View::make('students.list', $data);
}
Run Code Online (Sandbox Code Playgroud)
我可以放入__constructBaseController过滤所有应用程序查询Session::get('currentYear')吗?
小智 3
我将使用提供所需基本查询的方法创建一个存储库类,例如
function getUserBaseQuery() {
return User::where('year', '=', Session::get('currentYear'));
}
显然,请确保已currentYear设置 - 并在不运行的情况下返回它get()尚未运行的情况下返回它。
然后每当您进行查询时获取此基本查询,添加更多操作(限制、顺序等)并运行get()。
这样,您就可以使用过滤器进行访问,而不会造成一些全局潜在损害,并通过选择基本查询来了解运行的过滤器。
这对你来说有意义吗?
| 归档时间: |
|
| 查看次数: |
348 次 |
| 最近记录: |