不能使用 Illuminate\Support\Facades\Request 类型的对象作为数组

我对 api 提出的请求有问题,我想要一个像这样的 json 返回:


{

    "message": "OK",

    "data": [

        User,

        ...

    ],

    "pager": {

        "current": integer,

        "total": integer

    }

}

这是我数据库中的用户列表。


我使用邮递员,但我无法真正理解我试图用谷歌找到解决方案但没有具体的问题。所以我想知道我做错了什么。


public function getListUser(Request $request)

{


    $pseudo = $request["pseudo"];

    $perpage = $request["perpage"];

    $users = User

         ::select('username','pseudo','id','email')

         ->where('pseudo','LIKE',$pseudo.'%')

         ->paginate($perpage);


    return response()->json([

            'message'=>'OK',

            'data'=>$users->items(),

            'current'=>$users->currentPage(),

            'total' => $users->lastpage()

            ]

     ,200);

}

我尝试获取参数:

http://img.mukewang.com/60cdacf10001f9ad15120687.jpg

POPMUISE
浏览 399回答 3
3回答

慕田峪9158850

使用Input Facadeget 方法use Illuminate\Support\Facades\Input;$pseudo = Input::get('pseudo');$perpage = Input::get('perpage');

斯蒂芬大帝

如果您想将请求参数作为数组访问,则需要更改:use Illuminate\Support\Facades\Request;至:use Illuminate\Http\Request;如果您不能停止使用外观,另一种方法是使用instance. 您将不再需要参数:public function getListUser(){    $request = Request::instance();    $pseudo = $request["pseudo"];    $perpage = $request["perpage"];    ...}

喵喵时光机

您试图错误地获取查询参数。从文档:从查询字符串中检索输入虽然输入方法从整个请求负载(包括查询字符串)中query检索值,但该方法只会从查询字符串中检索值:$name = $request->query('name');试试这个方法:$pseudo = $request->query('pseudo'); $perpage = $request->query('perpage');
打开App,查看更多内容
随时随地看视频慕课网APP