php - Laravel 生成用户数据
问题描述
我是 Laravel 的新手,我想为表用户生成假数据。知道这工作正常:
用户工厂.php
$factory->define(App\User::class, function (Faker $faker) {
return [
'name' => $faker->name,
'email' => $faker->unique()->safeEmail,
'password' => '$2y$10$TKh8H1.PfQx37YgCzwiKb.KjNyWgaHb9cbcoQgdIVFlYg7B77UdFm', // secret
'remember_token' => str_random(10),
];
});
UsersTableSeeder.php
public function run() {
factory(App\User::class, 5)->create();
}
DatabaseSeeder.php
public function run() {
$this->call(UsersTableSeeder::class);
}
前面的代码在User表中生成了5行就OK了。
现在我想再生成一个额外的用户(除了已经生成的 5 行),其固定字段如下:
return [
'name' => 'user test',
'email' => 'user@mycompany.com',
'password' => '$2y$10$TKh8H1.PfQx37YgCzwiKb.KjNyWgaHb9cbcoQgdIVFlYg7B77UdFm', // secret
'remember_token' => str_random(10),
];
我必须把上面的代码放在哪里?我必须生成一个新的 UserFactory 吗?
解决方案
您可以将以下代码放在现有代码之后的UsersTableSeeder.php
srun()
方法中:
factory(App\User::class)->create([
'name' => 'user test',
'email' => 'user@mycompany.com',
'password' => '$2y$10$TKh8H1.PfQx37YgCzwiKb.KjNyWgaHb9cbcoQgdIVFlYg7B77UdFm', // secret
'remember_token' => str_random(10),
]);
您还可以使用'password' => bcrypt(USERPASSWORDHERE),
创建 USERPASSWORDHERE 的加密字符串
推荐阅读
- r - 查找字符串是否有两个斜杠并替换它
- php - 没有名为 pycurl 的模块
- java - 如何在 Java 中将环境指针传递给 Windows CreateProcess(使用 jna)
- c# - C# - 在对 Node.js 服务器的一个 Web 请求中执行上传和下载
- android - 如何将 Alexa 语音服务集成到自定义 Android 应用程序
- python - 在不修改大小的情况下全屏显示我的 Python 乌龟画布
- azure - 从图中查找路径,然后使用 Gremlin 计算路径在 Azure Cosmos DB 中出现的次数
- jenkins - 如何在 multibranchPipelineJob 中添加 Hg 安装选项?
- mysql - 在子例程中处理数据库打开和关闭
- python - Python 代码运行时间过长