使用Hash :: make方法更新表中的所有条目

时间:2013-03-15 15:53:02

标签: laravel eloquent

由于我将应用程序移植到Laravel并使用Auth类,因此我需要将users表中的所有密码更改为bycrypt(使用Hash::make())。

问题是我想使用用户名作为默认密码(所以当迁移完成后,我的用户“Mario”将拥有密码“Mario”) - 我想用数据库的所有条目执行此操作通过迁移,但我似乎无法做到,因为我不知道如何获取select的值,哈希它,然后在更新中使用它。

有没有办法不使用循环? (即每个用户不进行一次查询)

编辑:是的,如果没有循环,这是不可能的。我意识到。 @Adrenaxus有正确的答案。

1 个答案:

答案 0 :(得分:2)

你为什么不这样做:

foreach(User::all() as $user){
    $user->password = Hash::make($user->username);
    $user->save();
}