使用 Laravel 5.8 对没有数据库(计数)的 API 响应进行分页
Posted
技术标签:
【中文标题】使用 Laravel 5.8 对没有数据库(计数)的 API 响应进行分页【英文标题】:Paginate API response without database (count) with Laravel 5.8 【发布时间】:2019-12-23 17:14:34 【问题描述】:我正在使用:https://github.com/spatie/laravel-newsletter
控制器
if(Auth::check() && Auth::user()->hasRole('admin'))
$members = Newsletter::getMembers('subscribers');
return view('admin.newsletter', ['members' => $members]);
else
return redirect('admin');
查看
@foreach ($members['members'] as $member)
<tr>
<td> $member['unique_email_id'] </td>
<td> $member['email_address'] </td>
<td> $member['timestamp_opt'] </td>
<td> $member['last_changed'] </td>
<td>
<a href=" url('/newsletter/status')
'/' . $member['email_address'] ">
ucfirst($member['status']) </a>
</td>
</tr>
@endforeach
任何人都可以指导我在没有常规内容的情况下对数据响应进行分页->paginate(10);
我无法在 *** 或 Google 上找到具体答案。
谢谢!
【问题讨论】:
【参考方案1】:getMembers()
函数的源码是这样的:
public function getMembers(string $listName = '', array $parameters = [])
$list = $this->lists->findByName($listName);
return $this->mailChimp->get("lists/$list->getId()/members", $parameters);
Mailchimp API 文档列出了可选参数 here。
有两个参数用于分页:count
和 offset
。
对于我在上面读到的内容,您可以尝试以下方法:
$members = Newsletter::getMembers('subscribers', ['count'=>10, 'offset'=>0]);
根据您的当前页面更改offset
,并根据您想要的结果更改count
。
【讨论】:
@Cameron 你对这个答案有什么反馈吗? 是的,看起来很有趣,我需要进一步研究如何去做。 我最终只是将信息作为 cronjob 存储到我的数据库中并以这种方式进行分页。以上是关于使用 Laravel 5.8 对没有数据库(计数)的 API 响应进行分页的主要内容,如果未能解决你的问题,请参考以下文章
LARAVEL 5.8 - 在 foreach 中使用数组的 WHERE LIKE 子句的多个条件没有给出完整的结果
当表 laravel 5.8 中没有数据时,null 返回总和而不是 0
laravel 5.8 在 getenv 上返回 false