Laravel工厂通过数据库测试节省了很多

时间:2020-10-16 22:21:58

标签: laravel-8

狗模型和垃圾模型之间有很多关系。

垃圾模型属于很多狗。

public function fathers()
{
   return $this->belongsToMany(Dog::class, 'dog_litter', 'id', 'father_id'); //->where('sex', Dog::MALE);
}

有一个名为“ dog_litter”的数据透视表。

在测试中,我试图用很多狗作为父亲,像这样创建一个垃圾:

Litter::factory()
    ->has(
        Dog::Factory(),
        'fathers'
    )
    ->create();

我不断收到的错误如下:

SQLSTATE [23000]:违反完整性约束:19 NOT NULL约束失败:dog_litter.litter_id(SQL:插入“ dog_litter”(“ father_id”,“ id”)值(2、1))

它具有狗(父亲)ID,但不将垃圾ID保存在数据透视中。

有什么想法吗?!

谢谢!

0 个答案:

没有答案