Laravel,每个()函数都能做什么?

Laravel,每个()函数都能做什么?,laravel,laravel-5,laravel-5.4,Laravel,Laravel 5,Laravel 5.4,我没有具体的工作要做,只是想知道每个()都能做些什么。 我在谷歌上搜索并看到了这篇帖子: 上面说 每个都是在所有项目上执行一些操作,仅此而已 这是每个人已经在做的事情 什么是行动 看看官方的laravel文档: 它声明,each方法迭代集合中的项,并将每个项传递给回调 因此,对于集合中的每个项,它都会调用一个函数或执行操作。那是什么,由你决定 例如,以下代码段转储集合中的每个元素: $collection = $collection->each(function ($item, $key)

我没有具体的工作要做,只是想知道每个()都能做些什么。 我在谷歌上搜索并看到了这篇帖子:
上面说

每个都是在所有项目上执行一些操作,仅此而已 这是每个人已经在做的事情


什么是行动

看看官方的laravel文档:

它声明,
each方法迭代集合中的项,并将每个项传递给回调

因此,对于集合中的每个项,它都会调用一个函数或执行
操作。那是什么,由你决定

例如,以下代码段转储集合中的每个元素:

$collection = $collection->each(function ($item, $key) {
    var_dump($item);
});
但您也可以(例如)将其添加到数据库或您想到的任何内容。

该方法将迭代集合中的项目,并允许您对每个项目执行代码。
each
map
之间的区别在于,虽然
each
只是迭代值,
map
用回调中返回的值替换该值。可以找到每个
的文档。如果你想看电影的话

each方法迭代集合中的项并传递 每个项目都将返回一个回调。如果您想停止遍历 对于项目,您可以从回调返回false

您查询的“某些操作”是回调。在这种情况下,回调/操作是:

function($user, $key) {
    $user->update(['last_login' => Carbon::now()]);         
}
这会将集合上次登录的所有用户更新到当前时间。此外,如果您在名为
updateLogin

class User extends Model
{
    public function updateLogin()
    {
        $this->update(['last_login' => Carbon::now()]);
    }
} 
实际上,您可以对
$users
的集合执行以下操作:

$users->each->updateLogin();
您可以阅读以下内容:

集合还提供对“高阶消息”的支持 是对集合执行常见操作的捷径

“操作”是你想要的任何东西。
“你可以在这里阅读:
-链接断开了。
$users->each->updateLogin();