Laravel新手寻找指导。任何人都可以告诉我将可选的已发布搜索参数添加到以下Eloquent查询并返回所有相关数据和分页的最佳方法吗?可选的搜索参数是外键; country_id,season_id和parameter_id。
$dataitems = Dataitem::orderBy('name')->with('country')->with('season')->with('parameter')->paginate(10);
我正在阅读文档,并且看到了流畅的查询构建器,我只是在努力重新创建这个很好的分页查询。
非常感谢。
答案 0 :(得分:2)
我不确定我是否理解你想要的东西。但我会做这样的事情:
创建基本的雄辩查询:
$query = Dataitem::orderBy('name');
如果您有特定参数,请将条件添加到existant查询中。 如果阻止所有可选参数,则可以重复此操作。
if (Input::has('country_id'))
{
$query->whereHas('country', function($q){
$q->where('id', '=' ,Input::get('country_id'));
});
}
当你完成后,分页:
$query->paginate(10);