我正在为 前端和移动应用 实现API,现在我正在使用搜索功能,用户可以在其中输入列电话号码或我应该输入的任何数据能够以JSON格式提供他们请求的数据
我真的不知道如何根据他们输入的数据进行查询,所以我这样做了
我的控制器
public function searchMember(Request $request)
{
$data = $request->get('data');
$member_info = Member::where('phone_number', 'like', "%{$data}%")
->get();
return Response()->json([
'status' => 'success',
'data' => $member_info
], 200);
}
我的模型
class Member extends Model
{
protected $fillable = ['name','member_id','service_id','batch_id','phone_number','office_name','designation','email','image','remember_token'];
}
还有我的路线
Route::get('search?data=phone_number', 'MemberController@searchMember');
当我运行API资源时,其返回404 |未找到。 我找不到解决方案如何解决这个问题。 在邮递员中,我运行如下所示的API:
http://localhost:8000/api/v1/search?data=0179826****
请帮助我如何解决此问题。在此先感谢!
答案 0 :(得分:0)
我知道您已经解决了您的问题,但是以防万一有人想知道答案。在rout中的url中传递数据的正确方法是:
Route::get('search/{phone_number}', 'MemberController@searchMember');
,然后在您的控制器中将其显示为:
public function searchMember(Request $request, $phone_number)
然后您的网址如下所示:
http://localhost:8000/api/v1/search/0179826****
除此之外,如果您要通过请求发送变量,则无需在溃败中对其进行澄清。因此路线如下:
Route::get('search', 'MemberController@searchMember');
控制器和网址将与您发布的相同。