雄辩地一一检索大量行

时间:2019-07-18 12:02:12

标签: php laravel eloquent

我需要从MySQL数据库检索大量行,并且我无法将其全部加载到变量中,因为它太大了。有没有办法像雄辩的查询那样加载行pdo?

$data = $pdo->query("SELECT * FROM users")->fetchAll();
foreach ($data as $row) {
    echo $row['name']."<br />\n";
}

我想使用雄辩的查询生成器来做同样的事情

1 个答案:

答案 0 :(得分:0)

使用chunk()进行分组结果是最好的选择。

DB::table('users')->chunk(100, function ($users) {
    foreach ($users as $user) {

        // process data

        return false; // break if needed
    }
});

使用Eloquent也可以实现同样的目的。

User::chunk(100, function ($users) {
    ...
}

Docs