Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel:完整性约束冲突:1062个重复条目';jon@doe.com';对于键';用户的电子邮件独一无二';_Php_Html_Laravel - Fatal编程技术网

Php Laravel:完整性约束冲突:1062个重复条目';jon@doe.com';对于键';用户的电子邮件独一无二';

Php Laravel:完整性约束冲突:1062个重复条目';jon@doe.com';对于键';用户的电子邮件独一无二';,php,html,laravel,Php,Html,Laravel,我在将实际数据植入数据库时遇到一些问题。我收到错误消息: "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' =>

我在将实际数据植入数据库时遇到一些问题。我收到错误消息:

"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),
]);
我甚至没有运行usertableeeder,但它似乎触发了jon@doe.com再说一遍

有什么线索吗

这是我的数据库播种器:

<?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');
    }

}

解决方案显而易见,只需使用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);

你的代码看起来有点不对劲。给定的代码有doe.com,而注释的错误是关于doe.de.Thx的,但这对我没有帮助,因为我得到的错误是由于“重复”的电子邮件地址造成的。我的迁移要求电子邮件应该是唯一的。尽管如此,这也不能解决问题,因为我最初的问题是,对于每个创建的订单,都会创建一个新用户,这已经够奇怪了。。。谢谢你的回复。
$overwrite = ['name' => 'Jon Doe','email' =>'jondoe.email.com'];
TestDummy::times(1)->create('App\User',$overwrite);