如何修复Laravel雄辩和DB返回空项目(模型)对象

时间:2019-03-28 22:31:02

标签: laravel-5 laravel-pagination

我注意到这个问题是在我想为控制器内的listStory()方法生成分页时开始的。当我调查时发现#items是空的,最初不是。正在正确计算总数。

在调查过程中,我尝试过:

$allStoryByTeller = Story::all();
dd($allStoryByTeller);

并返回:

Collection {#344 ▼
  #items: array:10 [▼
    0 => Story {#345 ▶}
    1 => Story {#346 ▶}
    2 => Story {#347 ▶}
    3 => Story {#348 ▶}
    4 => Story {#349 ▶}
    5 => Story {#350 ▶}
    6 => Story {#351 ▶}
    7 => Story {#352 ▶}
    8 => Story {#353 ▶}
    9 => Story {#354 ▶}
  ]
}

应该是以下输出中的#items包含的内容

public function listStory()
{
    $allStoryByTeller = Story::with([
        'user'
    ])->paginate($perPageCount = 10);
    dd($allStoryByTeller);
    ...
}

上面的代码片段返回:

LengthAwarePaginator {#316 ▼
  #total: 9
  #lastPage: 1
  #items: Collection {#318 ▼
    #items: []
  }
  #perPage: 10
  #currentPage: 2
  #path: "http://127.0.0.1:8000/v1/stories/list"
  #query: []
  #fragment: null
  #pageName: "page"
  +onEachSide: 3
  #options: array:2 [▶]
}

我希望#项包含9个模型,而不是[]为空,因为正确计算了总数。

1 个答案:

答案 0 :(得分:0)

我意识到#items并未加载,原因是我在第二页上与我使用的Rest Client有关。我将每页计数设置为20,因此,在第二页上表示所有模型在第一页上都已用尽。