如何解决Laravel分页与嵌套的foreach
你好吗?
我有一个从模型返回数据的函数。一旦获得所有数据,就对其执行一个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的情况下修改模型来修改查询,但是我无法获取我需要的所有数据。
你能帮帮我吗?谢谢
解决方法
尝试map()
$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;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。