我正在寻找一种通过Laravel 4中的查询字符串搜索和过滤数据库表/ Eloquent模型的方法.
我有一个名为houses的表,列名为:price,name,hasCoffeeMachine和hasStove
我希望用户能够执行以下操作:http://example.com?name=test&hasCoffeeMachine=1
这将获得名称为“test”的所有行,并且他们有咖啡机.
我希望用户能够根据他们想要的过滤器添加URL参数.考虑所有可能的查询字符串组合以从表中返回正确结果的最佳方法是什么?
最佳答案
$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();