【问题标题】:Laravel pagination with nested foreach带有嵌套foreach的Laravel分页
【发布时间】:2021-02-22 06:22:15
【问题描述】:

你好吗?

我有一个从模型返回数据的函数。获得所有数据后,我会对其进行 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 的情况下使用更改查询的模型进行分页,但我无法获得所需的所有数据。

你能帮帮我吗?谢谢

【问题讨论】:

    标签: php laravel pagination


    【解决方案1】:

    试试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;
    

    【讨论】:

      猜你喜欢
      • 2021-06-19
      • 2017-05-09
      • 2020-03-17
      • 2018-03-07
      • 2018-11-29
      • 2012-02-16
      • 1970-01-01
      • 1970-01-01
      • 2013-05-15
      相关资源
      最近更新 更多