多对多的工厂模型 数据填充要怎么写啊 ,手册上没有提到过
数据表
Model文件
工厂文件
填充文件
填充文件是仿造手册里提到的
数据库测试《Laravel 7 中文文档》
执行填充命令会出现如下错误
Illuminate\Database\QueryException : SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '61' for key 'PRIMARY' (SQL: insert into `chapters` (`name`, `video_num`, `status`, `sort`, `created_at`, `updated_at`, `id`) values (g1D64Vyzan, 10, 0, 75, 1970-05-26 19:46:19, 2002-05-06 07:45:32, 61))
at /home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Connection.php:669
665| // If an exception occurs when attempting to run a query, we'll format the error
666| // message to include the bindings with SQL, which will make this exception a
667| // lot more helpful to the developer instead of just the database's errors.
668| catch (Exception $e) {
> 669| throw new QueryException(
670| $query, $this->prepareBindings($bindings), $e
671| );
672| }
673|
Exception trace:
1 Doctrine\DBAL\Driver\PDOException::("SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '61' for key 'PRIMARY'")
/home/vagrant/xes/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:129
2 PDOException::("SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '61' for key 'PRIMARY'")
/home/vagrant/xes/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:127
3 PDOStatement::execute()
/home/vagrant/xes/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:127
4 Doctrine\DBAL\Driver\PDOStatement::execute()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Connection.php:463
5 Illuminate\Database\Connection::Illuminate\Database\{closure}()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Connection.php:662
6 Illuminate\Database\Connection::runQueryCallback()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Connection.php:629
7 Illuminate\Database\Connection::run()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Connection.php:464
8 Illuminate\Database\Connection::statement()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Connection.php:416
9 Illuminate\Database\Connection::insert()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php:32
10 Illuminate\Database\Query\Processors\Processor::processInsertGetId()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php:2695
11 Illuminate\Database\Query\Builder::insertGetId()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:1366
12 Illuminate\Database\Eloquent\Builder::__call()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:840
13 Illuminate\Database\Eloquent\Model::insertAndSetId()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:805
14 Illuminate\Database\Eloquent\Model::performInsert()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:668
15 Illuminate\Database\Eloquent\Model::save()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/BelongsToMany.php:970
16 Illuminate\Database\Eloquent\Relations\BelongsToMany::create()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/BelongsToMany.php:989
17 Illuminate\Database\Eloquent\Relations\BelongsToMany::createMany()
/home/vagrant/xes/database/seeds/CourseSeeder.php:22
18 CourseSeeder::{closure}()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Support/Traits/EnumeratesValues.php:176
19 Illuminate\Support\Collection::each()
/home/vagrant/xes/database/seeds/CourseSeeder.php:25
20 CourseSeeder::run()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:32
21 call_user_func_array()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:32
22 Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/Util.php:37
23 Illuminate\Container\Util::unwrapIfClosure()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:90
24 Illuminate\Container\BoundMethod::callBoundMethod()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:34
25 Illuminate\Container\BoundMethod::call()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/Container.php:590
26 Illuminate\Container\Container::call()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Seeder.php:134
27 Illuminate\Database\Seeder::__invoke()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Seeder.php:48
28 Illuminate\Database\Seeder::call()
/home/vagrant/xes/database/seeds/DatabaseSeeder.php:18
29 DatabaseSeeder::run()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:32
30 call_user_func_array()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:32
31 Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/Util.php:37
32 Illuminate\Container\Util::unwrapIfClosure()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:90
33 Illuminate\Container\BoundMethod::callBoundMethod()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:34
34 Illuminate\Container\BoundMethod::call()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/Container.php:590
35 Illuminate\Container\Container::call()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Seeder.php:134
36 Illuminate\Database\Seeder::__invoke()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Console/Seeds/SeedCommand.php:63
37 Illuminate\Database\Console\Seeds\SeedCommand::Illuminate\Database\Console\Seeds\{closure}()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/GuardsAttributes.php:129
38 Illuminate\Database\Eloquent\Model::unguarded()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Console/Seeds/SeedCommand.php:64
39 Illuminate\Database\Console\Seeds\SeedCommand::handle()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:32
40 call_user_func_array()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:32
41 Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/Util.php:37
42 Illuminate\Container\Util::unwrapIfClosure()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:90
43 Illuminate\Container\BoundMethod::callBoundMethod()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:34
44 Illuminate\Container\BoundMethod::call()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/Container.php:590
45 Illuminate\Container\Container::call()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Console/Command.php:134
46 Illuminate\Console\Command::execute()
/home/vagrant/xes/vendor/symfony/console/Command/Command.php:255
47 Symfony\Component\Console\Command\Command::run()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Console/Command.php:121
48 Illuminate\Console\Command::run()
/home/vagrant/xes/vendor/symfony/console/Application.php:1000
49 Symfony\Component\Console\Application::doRunCommand()
/home/vagrant/xes/vendor/symfony/console/Application.php:271
50 Symfony\Component\Console\Application::doRun()
/home/vagrant/xes/vendor/symfony/console/Application.php:147
51 Symfony\Component\Console\Application::run()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Console/Application.php:93
52 Illuminate\Console\Application::run()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:131
53 Illuminate\Foundation\Console\Kernel::handle()
/home/vagrant/xes/artisan:37
如果把填充文件 17行的create 换成make 又是另一种报错
Illuminate\Database\QueryException : SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'chapter_id' cannot be null (SQL: insert into `chapter_video` (`chapter_id`, `video_id`) values (?, 201))
at /home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Connection.php:669
665| // If an exception occurs when attempting to run a query, we'll format the error
666| // message to include the bindings with SQL, which will make this exception a
667| // lot more helpful to the developer instead of just the database's errors.
668| catch (Exception $e) {
> 669| throw new QueryException(
670| $query, $this->prepareBindings($bindings), $e
671| );
672| }
673|
Exception trace:
1 Doctrine\DBAL\Driver\PDOException::("SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'chapter_id' cannot be null")
/home/vagrant/xes/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:129
2 PDOException::("SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'chapter_id' cannot be null")
/home/vagrant/xes/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:127
3 PDOStatement::execute()
/home/vagrant/xes/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:127
4 Doctrine\DBAL\Driver\PDOStatement::execute()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Connection.php:463
5 Illuminate\Database\Connection::Illuminate\Database\{closure}()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Connection.php:662
6 Illuminate\Database\Connection::runQueryCallback()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Connection.php:629
7 Illuminate\Database\Connection::run()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Connection.php:464
8 Illuminate\Database\Connection::statement()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Connection.php:416
9 Illuminate\Database\Connection::insert()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php:2651
10 Illuminate\Database\Query\Builder::insert()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Concerns/InteractsWithPivotTable.php:256
11 Illuminate\Database\Eloquent\Relations\BelongsToMany::attach()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/BelongsToMany.php:972
12 Illuminate\Database\Eloquent\Relations\BelongsToMany::create()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/BelongsToMany.php:989
13 Illuminate\Database\Eloquent\Relations\BelongsToMany::createMany()
/home/vagrant/xes/database/seeds/CourseSeeder.php:19
14 CourseSeeder::{closure}()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Support/Traits/EnumeratesValues.php:176
15 Illuminate\Support\Collection::each()
/home/vagrant/xes/database/seeds/CourseSeeder.php:21
16 CourseSeeder::{closure}()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Support/Traits/EnumeratesValues.php:176
17 Illuminate\Support\Collection::each()
/home/vagrant/xes/database/seeds/CourseSeeder.php:25
18 CourseSeeder::run()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:32
19 call_user_func_array()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:32
20 Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/Util.php:37
21 Illuminate\Container\Util::unwrapIfClosure()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:90
22 Illuminate\Container\BoundMethod::callBoundMethod()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:34
23 Illuminate\Container\BoundMethod::call()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/Container.php:590
24 Illuminate\Container\Container::call()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Seeder.php:134
25 Illuminate\Database\Seeder::__invoke()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Seeder.php:48
26 Illuminate\Database\Seeder::call()
/home/vagrant/xes/database/seeds/DatabaseSeeder.php:18
27 DatabaseSeeder::run()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:32
28 call_user_func_array()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:32
29 Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/Util.php:37
30 Illuminate\Container\Util::unwrapIfClosure()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:90
31 Illuminate\Container\BoundMethod::callBoundMethod()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:34
32 Illuminate\Container\BoundMethod::call()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/Container.php:590
33 Illuminate\Container\Container::call()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Seeder.php:134
34 Illuminate\Database\Seeder::__invoke()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Console/Seeds/SeedCommand.php:63
35 Illuminate\Database\Console\Seeds\SeedCommand::Illuminate\Database\Console\Seeds\{closure}()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/GuardsAttributes.php:129
36 Illuminate\Database\Eloquent\Model::unguarded()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Database/Console/Seeds/SeedCommand.php:64
37 Illuminate\Database\Console\Seeds\SeedCommand::handle()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:32
38 call_user_func_array()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:32
39 Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/Util.php:37
40 Illuminate\Container\Util::unwrapIfClosure()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:90
41 Illuminate\Container\BoundMethod::callBoundMethod()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:34
42 Illuminate\Container\BoundMethod::call()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Container/Container.php:590
43 Illuminate\Container\Container::call()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Console/Command.php:134
44 Illuminate\Console\Command::execute()
/home/vagrant/xes/vendor/symfony/console/Command/Command.php:255
45 Symfony\Component\Console\Command\Command::run()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Console/Command.php:121
46 Illuminate\Console\Command::run()
/home/vagrant/xes/vendor/symfony/console/Application.php:1000
47 Symfony\Component\Console\Application::doRunCommand()
/home/vagrant/xes/vendor/symfony/console/Application.php:271
48 Symfony\Component\Console\Application::doRun()
/home/vagrant/xes/vendor/symfony/console/Application.php:147
49 Symfony\Component\Console\Application::run()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Console/Application.php:93
50 Illuminate\Console\Application::run()
/home/vagrant/xes/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:131
51 Illuminate\Foundation\Console\Kernel::handle()
/home/vagrant/xes/artisan:37
用零一种方法实现了数据填充