在Laravel 4中搜索和过滤/优化数据库结果

nat*_*han 5 php mysql laravel laravel-4

我正在寻找一种通过Laravel 4中的查询字符串搜索和过滤数据库表/ Eloquent模型的方法.

我有一个名为表houses与指定的列:price,name,hasCoffeeMachinehasStove

我希望用户能够执行以下操作:http://example.com?name = test&hasCoffeeMachine = 1

这将获得名称为"test"的所有行,并且他们有咖啡机.

我希望用户能够根据他们想要的过滤器添加URL参数.考虑所有可能的查询字符串组合以从表中返回正确结果的最佳方法是什么?

use*_*496 14

$houses = new House;

if(Input::get('name'))
    $houses->where('name', '=', Input::get('name'));

if(Input::get('hasCoffeeMachine'))
    $houses->where('hasCoffeeMachine', '=', Input::get('hasCoffeeMachine'));

// Keep adding more for every filter you have

// Don't do this till you are done adding filters.
$houses = $houses->get();
Run Code Online (Sandbox Code Playgroud)