首页 > 解决方案 > url 中的查询参数在 laravel json 响应中不起作用?

问题描述

让我们把这个 json 作为 Laravel 的响应返回:

Route::get('/data', function(){

    $drivers = Driver::select('driver_number','first_name','ph_number')
                ->where('driver_number',$request->get('driver_number'))
                ->get();

    return response()->json($drivers);
});

以上返回这个json:

[
{
    "driver_number": "Dr_01",
    "first_name": "jimale",
    "ph_number": 4253226
},
{
    "driver_number": "Dr_02",
    "first_name": "mawlid",
    "ph_number": 4222321
},
{
    "driver_number": "Dr_03",
    "first_name": "yusuf",
    "ph_number": 3624222
},
{
    "driver_number": "Dr_04",
    "first_name": "yaxye",
    "ph_number": 343243
}
]

所以,我想接收一个 json 对象 where driver_number= Dr_02... 出于这个原因,我使用POSTMAN来做到这一点,我这样说:

http://localhost/BSProject/public/data?driver_number=Dr_02

但这是显示所有 JSON 数组而不是我的特定 json 对象。有谁知道我错过了哪里?谢谢

标签: jsonlaravelpostman

解决方案


使用 where 子句编写过滤器查询,如下所示:

public function index(Request $request){
    $drivers = Driver::select('driver_number','first_name','ph_number')->where('driver_number',$request->get('driver_number'))->get();
}

推荐阅读