我有一张表从数据库中返回大量数据,但我很好奇大多数人过滤数据的方式。
例如,我得到了一个包含类型,名称,日期的表格。 在这个表中,我想过滤type =" New"按降序排列。
您将如何在网址和代码中完成此操作?
像url?type=new&sort=-type
?
因为我个人不喜欢这种格式..试图找到一种方法来保持网址的美观和干净。
答案 0 :(得分:0)
您可以尝试:
$data = Model::whereType(Input::get('type'))->orderBy(Input::get('sort'),'DESC')->get();
但如果有人以sort
而不是列名称传递,则无效,因此您应首先过滤它,然后传递给Eloquent,例如:
$sort = Input::get('sort');
$allowed = ['name','active','someothercolumn'];
if (!in_array($sort, $allowed)) {
$sort = $allowed[0];
}
$data = Model::whereType(Input::get('type'))->orderBy($sort,'DESC')->get();