Php %如%查询未按预期给出结果

Php %如%查询未按预期给出结果,php,sql,laravel,search,laravel-5.3,Php,Sql,Laravel,Search,Laravel 5.3,我正在开发搜索功能,我正在根据用户输入进行查询,但没有得到预期的结果 //if user searches walter getting proper response http://localhost:8000/api/v1/search/walter { "data": [ { "id": 1, "first_name": "Walter", "last_name": "White", "phone_number": "96

我正在开发搜索功能,我正在根据用户输入进行查询,但没有得到预期的结果

//if user searches walter getting proper response

http://localhost:8000/api/v1/search/walter  

{
  "data": [
    {
      "id": 1,
      "first_name": "Walter",
      "last_name": "White",
      "phone_number": "9665885542",
      "registration_id": "12345b67892"
    },
    {
      "id": 8,
      "first_name": "Mitty",
      "last_name": "Walter",
      "phone_number": "8826835542",
      "registration_id": "dffdfg54ty45y"
    }
  ]
}

// but if user searches walt the response is

http://localhost:8000/api/v1/search/walt  

{
  "data": []
}
我的方法

//搜索驱动程序 公共函数getSearchResults$search\u输入{

$search_drivers = Driver::where('id', 'like', $search_input)
                 ->orWhere('first_name', 'like', $search_input)
                 ->orWhere('last_name', 'like', $search_input)
                 ->orWhere('phone_number', 'like', $search_input)
                 ->orWhere('registration_id', 'like', $search_input)
                 ->select('id','first_name','last_name','phone_number','registration_id')
                 ->get();

return Response::json([
    'data' => $search_drivers
]);     
}

在输入完整数据之前,有没有更好的方法获得结果

谢谢

的正确语法为“%”。$search\u input.“%”:


我的坏,非常感谢你真的很感激,我不能在6分钟内接受答案
$search_drivers = Driver::where('id', 'like', '%'.$search_input.'%')
     ->orWhere('first_name', 'like', '%'.$search_input.'%')
     ->orWhere('last_name', 'like', '%'.$search_input.'%')
     ->orWhere('phone_number', 'like', '%'.$search_input.'%')
     ->orWhere('registration_id', 'like', '%'.$search_input.'%')
     ->select('id','first_name','last_name','phone_number','registration_id')
     ->get();