URI中的Laravel条件

I am planning to implement an api for a database using Laravel and I am hoping to have a search function using a URI like

www.exaample.com/WaferSearch?{search string}

It seems very easy to implement a search string like

param1 = 4

This would request a list of wafers ( this is what the database is about) where param1 is equal to 4

The documentation seems to be very clear about how I can turn any sort of a question like this into SQL.

However, I want to have a search string like

param1 > 4

I would also be happy to express the search string like this

param1_GreaterThan =4

and I can see how I could write some code to parse the search string to work out what was required. However I feel that I would be solving a problem that must have been solved many times before.

Is there a well established way to do this?

Graham

There's lots of ways to implement something like this but one way springs to mind as the most extensible. Use two variables in the query.

  • Greater than http://myapi.com/wafersearch?p1=4&op=gt

  • Less than http://myapi.com/wafersearch?p1=4&op=lt

  • Equal to http://myapi.com/wafersearch?p1=4&op=eq

Alternatively you could use rewrites to pass in the variables directly to the route / controller method.

  • Greater than http://myapi.com/wafersearch/gt/4

  • Less than http://myapi.com/wafersearch/lt/4

  • Equal to http://myapi.com/wafersearch/eq/4