【问题标题】:Create a new password for user in laravel在 laravel 中为用户创建新密码
【发布时间】:2020-08-01 12:27:56
【问题描述】:
如何使用 str_random 创建新密码并将密码保存在用户表中?
示例:
$newPassword = str_random(8);
$userFind = User::all()->where('numberPhone', $request->phone);
$userFind->password = hash::make($newPassword);
【问题讨论】:
标签:
php
mysql
laravel
passwords
change-password
【解决方案1】:
$newPassword = str_random(8);
$userFind = User::where('numberPhone', $request->phone)->first(); // assuming phone number is unique - get only one with first()
$userFind->password = Hash::make($newPassword); // you may need to check whether user exists before updating.
$userFind->save();
【解决方案2】:
您可以使用 faker 来生成假数据或虚拟数据,在 /database/seeds 上的项目文件夹中找到 DatabaseSeeder 类。
如果你使用的是 Laravel 版本 7,那么添加这一行,你已经有一个工厂来创建假用户,你可以在 /database/factories 中检查你应该有 UserFactory.php 文件。
factory(App\User::class, 50)->create();
现在使用终端执行此命令以运行 DatabaseSeeder:
php artisan db:seed