1

アプリをLaravelに移植していて、Authクラスを使用しているため、usersテーブルのすべてのパスワードをbycryptに変更する必要があります(を使用Hash::make())。

問題は、ユーザー名をデフォルトのパスワードとして使用したいということです (したがって、移行が完了すると、ユーザー「Mario」のパスワードは「Mario」になります) — 移行を介してデータベースのすべてのエントリでこれを行いたいです。 、しかし、選択の値を取得してハッシュし、更新で使用する方法がわからないため、作成できないようです。

ループを使わずにこれを行う方法はありますか? (つまり、ユーザーごとに 1 つのクエリを作成する必要はありません)

編集:はい、これはループなしでは不可能です。に気づいた。そして、@Adrenaxus は正しい答えを持っています。

4

1 に答える 1

2

次のようなことをしてみませんか。

foreach(User::all() as $user){
    $user->password = Hash::make($user->username);
    $user->save();
}
于 2013-03-15T16:04:36.400 に答える