【问题标题】:Laravel get just data from paginationLaravel 只从分页中获取数据
【发布时间】:2021-03-09 13:01:47
【问题描述】:

我查询用户列表如下:

$users = \App\User::selectRaw('id, "user_name"')->paginate(2);

返回:

{
    current_page: 1,
    data: [
        {
            id: 2,
            user_name: "user_name"
        },
        {
            id: 3,
            user_name: "user_name"
        }
    ],
    first_page_url: "http://localhost:8000/users?page=1",
    from: 1,
    last_page: 2,
    last_page_url: "http://localhost:8000/users?page=2",
    next_page_url: "http://localhost:8000/users?page=2",
    path: "http://localhost:8000/users",
    per_page: 2,
    prev_page_url: null,
    to: 2,
    total: 3
}

我只需要将存储在data: 中的用户值存储到一个变量中,我该如何实现呢?

【问题讨论】:

  • 你的意思是你需要前2个用户?
  • 是的,我的意思是 data:[] 中的所有内容单独访问它并将其存储在另一个变量中。
  • 随便$test = $users['data']
  • @HafezDivandari 我试过了,但它是空的,什么也没显示。
  • @HafezDivandari,我试过这个$users->data 并抛出错误:Undefined property: Illuminate\Pagination\LengthAwarePaginator::$data

标签: php json laravel pagination


【解决方案1】:

你可以试试这个:

$users = \App\User::selectRaw('id, "user_name"')->paginate(2);

$data = $users->toArray()['data'];

或者:

$data = $users->items();

【讨论】:

    【解决方案2】:

    您可以将数据中的项目获取为

    $users = \App\User::selectRaw('id, "user_name"')->paginate(2);
    
    
    //$users is an instance of `Illuminate\Pagination\LengthAwarePaginator`
    //So to get the items
    
    $users->items();
    

    【讨论】:

      猜你喜欢
      • 2018-06-04
      • 2018-11-28
      • 1970-01-01
      • 2020-02-02
      • 1970-01-01
      • 2018-07-31
      • 2021-11-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多