我一直在使用Laravel 4& amp ;;为我的移动应用程序编写API。雄辩。我已经阅读了一些有关编写优秀API的详细信息,包括Phil Build a Decent API& apigee的RESTful API Design。
APIgee谈论查询字符串下的复杂性。从查询字符串获取参数可能很麻烦,因为参数的数量和数量可能不同。类型。例如,为了得到一个黑色的狗,请求将是
http://url.com/api/dogs?color=black
和黑色的狗&年龄将是
http://url.com/api/dogs?color=black&age=16
$dogs = new Dog;
if(Input::get('color'))
$houses->where('color', '=', Input::get('color'));
if(Input::get('age'))
$houses->where('age', '=', Input::get('age'));
// Keep adding more for every filter you have :-|
$dogs = $dogs->get();
另类&但更好的方法是使用DB列名作为参数名称,并使用foreach循环来构造查询。
但是,我想知道这种方法是否有替代,或者是处理查询字符串的标准方法。
答案 0 :(得分:1)
我认为如果您有3-4个参数,那么您可以像上面那样单独检查它们。
但是如果你有很多参数,那么你可以使用foreach循环,采取预防措施以避免从隐藏字段(如id)中搜索。下面的例子..
$inputs = Input::except('id', 'something_cannot_be_used_for_searching');
foreach($inputs as $key => $input)
{
//Stmts
}
如果有任何其他问题,请告诉我。 谢谢:))