doujia2021 2018-10-01 16:27
浏览 64
已采纳

密码从laravel 5.0迁移到laravel 5.6

I am trying to migrate a database from Laravel 5.0 to Laravel 5.6, but when I am transferring the users table the password column does not get passed as it was before (I am assuming Laravel is hashing this again)

before :- $2y$10$KPCJK7wZ5lHdFMw7y3fchO3qXBvEuqS8wXzvH6vanETH5Pe7CBWVG
after :- $2y$10$B7hp5fGX6amcb.CBAnf8TeDxNAxwh5YAxOomi.AEsKfcdf7ovkxTy

I need some way to prevent Laravel from hashing the password. I am doing this to migrate my users table:

$user = new User;
$user->password = $request['password'];
$user->save();

I was using User::create() before but it had the same issue.

I am really confused and stuck and any advice on this will be really helpful.

  • 写回答

1条回答 默认 最新

  • dongshi4773 2018-10-01 16:46
    关注

    It sounds like the User model automatically Hashes whatever value is passed into password, regardless if it has already Hashed. I'm unsure if there's a direct way to disable this behaviour (likely is, but not sure what User is - Basic Laravel Auth, Sentinel, Spatie, etc. etc.), so a workaround is to use the DB facade to get around the User model:

    DB::table("users")->insert([
      "password" => $request->input("password"), // or $request["password"]
      ...
    ]);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?