php - 带有嵌套foreach的Laravel分页
问题描述
你好吗?
我有一个从模型返回数据的函数。获得所有数据后,我会使用它执行一个 foreach 循环,并为每个结果添加一些我自己的键/值。我得到了这个代码:
$pets = Pet::orderBy('created_at', 'desc')->get();
一旦我得到这些数据,我就会执行 foreach 循环:
foreach ($pets as $pet) {
if ($pet->where('race', '=', 'dog')->exists()) {
$pet->image = 'localhost:8000/races/dog.jpg';
} else {
$pet->image = 'localhost:8000/other/default.jpg';
}
}
foreach 循环将键/值添加到集合中。
我需要的是能够使用嵌套的 foreach 结果对结果进行分页。
return $pets->paginate(3);
忘记数据库注意事项。这只是一个类似表的示例,但目标是相同的,将 foreach 中的键/值对添加到集合或数组中,以便我可以使用所有数据对其进行分页。
我知道我可以在不使用 get 的情况下使用更改查询的模型进行分页,但我不会获得我需要的所有数据。
你能帮我吗?谢谢
解决方案
试试地图()
$pets = Pet::orderBy('created_at', 'desc')->paginate(3);
$pets->map(function ($row) {
if (true) {
$row['image'] = 'localhost:8000/races/dog.jpg';
} else {
$row['image'] = 'localhost:8000/other/default.jpg';
}
return $row;
});
return $pets;
推荐阅读
- git - 我的旧 git 提交未显示在 BitBucket 上,被其他人覆盖
- node.js - 使用对话流保存到两个不同的 Firestore 数据库
- python - 类型错误:尝试使用 get_dummies 进行一对一热编码时,列表索引必须是整数或切片,而不是 str
- java - 如何格式化我的数字以使其与右侧对齐?
- azure - 从 App Insights 警报中验证对用 Azure 函数编写的 webhook 的调用
- html - 如何将页脚带到页面底部?
- c# - 为 SSO 获取 Kerberos 令牌
- amazon-web-services - DynamoDB 的 Web UI 包装器
- firebase - Ionic 4 & Firebase (FCM) - 如何对推送通知进行分组
- python - 在我的代码分配错误之前引用的局部变量