在phpunit + laravel中使用工厂时,字段名称没有默认值错误

时间:2018-04-23 17:08:28

标签: laravel phpunit

当我在phpunit的测试类中使用Factories时,字段值不会插入到数据库中。 它返回错误

General error: 1364 Field 'name' doesn't have a default value (SQL: insert 
    into province() values ())

我的工厂是: 使用Faker \ Generator作为Faker;

$factory->define(\App\Provinces::class, function (Faker $faker) {
    return [
        'name' => $faker->name
    ];
});

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。

发生此问题是因为在Provinces模型的__construct方法中我错过了这一行:

parent::__construct($attributes);

所以,我的构造函数应该是这样的:

public function __construct(array $attributes = [])
{
    parent::__construct($attributes);
}