gpt4 book ai didi

php - Laravel:违反完整性约束:1062 键 'jon@doe.com' 的重复条目 'users_email_unique'

转载 作者:太空狗 更新时间:2023-10-29 16:46:01 24 4
gpt4 key购买 nike

我在将实际数据播种到我的数据库时遇到了一些问题。我收到错误消息:

"Integrity constraint violation: 1062 Duplicate entry 'jon@doe.de' for key 'users_email_unique'"

这是我的工厂的样子:

$factory('App\User', [
'name' => 'Jon Doe',
'email' => 'jon@doe.com',
'password' => password_hash('123456', PASSWORD_DEFAULT),
]);

$factory('App\User', [
'name' => 'Jane Doe',
'email' => 'jane@doe.com',
'password' => password_hash('123456', PASSWORD_DEFAph ULT),
]);

我什至没有运行 UserTableSeeder,但它似乎又触发了 jon@doe.com。

有什么线索吗?

这是我的 DatabaseSeeder:

<?php

use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;

class DatabaseSeeder extends Seeder {

/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
Model::unguard();

// $this->call('UserTableSeeder');
$this->call('ClientTableSeeder');
$this->call('OrderTableSeeder');
$this->call('FileTableSeeder');
}

}

这是我的UserTableSeeder,上面被注释掉了

<?php

use Illuminate\Database\Seeder;

// composer require laracasts/testdummy
use Laracasts\TestDummy\Factory as TestDummy;

class UserTableSeeder extends Seeder {

public function run()
{
TestDummy::times(1)->create('App\User');
}

}

请指教。

最佳答案

解决方案很明显,只需使用 faker 在您的工厂中生成您的虚拟数据

$factory('App\User', [
'name' => $faker->name,
'email' => $faker->email,
'password' => password_hash('123456', PASSWORD_DEFAULT),

]);

因为您有重复的电子邮件地址,并且您在迁移中设置了独特的规则

如果您想覆盖虚拟数据,您可以这样做

$overwrite = ['name' => 'Jon Doe','email' =>'jondoe.email.com'];
TestDummy::times(1)->create('App\User',$overwrite);

关于php - Laravel:违反完整性约束:1062 键 'jon@doe.com' 的重复条目 'users_email_unique',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29604151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com