使用查询字符串搜索API

时间:2014-03-23 14:02:56

标签: php laravel laravel-4

我目前正在构建API,我希望能够通过查询字符串搜索API。例如http://api.dev/?q=12

我可以输入输入的值但是如何使用它来搜索数据库?

if ($q = Input::get('q'))
 {
  return( ModelName::where('id', '=', $q));
 }

这似乎不会改变搜索,只返回相同的数据。

2 个答案:

答案 0 :(得分:0)

ID是独一无二的,所以你得到相同的结果并不让我感到惊讶。

对于Laravel,我发现查询构建器更好地处理搜索查询而不是Eloquent。 E.g。

$users = DB::table('users')
             ->where('votes', '>', 100)
             ->orWhere('name', 'John')
             ->get();

希望这有帮助。

答案 1 :(得分:0)

要使用Eloquent从数据库中搜索,您可以使用以下两种方式:

ModelName::where('id', '=', $q)->get();

ModelName::find($q);

在第二个示例中,Laravel假定您的主键为id,因此如果您有另一个字段作为主键,则必须通过在模型中设置属性来覆盖它。

class ModelName 
{
    ...your props
    private $primaryKey = 'yourPrimaryKey'
    ...
}