微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Laravel分页与嵌套的foreach

如何解决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 举报,一经查实,本站将立刻删除。