我目前正在构建API,我希望能够通过查询字符串搜索API。例如http://api.dev/?q=12
我可以输入输入的值但是如何使用它来搜索数据库?
if ($q = Input::get('q'))
{
return( ModelName::where('id', '=', $q));
}
这似乎不会改变搜索,只返回相同的数据。
答案 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'
...
}