使用Eloquent和Laravel处理数据过滤

时间:2014-10-25 13:05:18

标签: laravel eloquent

我有一张表从数据库中返回大量数据,但我很好奇大多数人过滤数据的方式。

例如,我得到了一个包含类型,名称,日期的表格。 在这个表中,我想过滤type =" New"按降序排列。

您将如何在网址和代码中完成此操作?

url?type=new&sort=-type

之类的东西

因为我个人不喜欢这种格式..试图找到一种方法来保持网址的美观和干净。

1 个答案:

答案 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();