Laravel 5.1 使用模型关系和工厂进行测试

Laravel 5.1 testing with model relationships and factories

目前我有 2 个模型(和测试工厂)用于:

我查看了有关具有关系的测试工厂的文档,但没有专门针对单个实例显示任何内容。我现在拥有的是:

$user = factory(App\User::class)->create(); $post = factory(App\Post::class)->create(); $post->user()->save($user);

我目前收到以下 PHPUnit 错误:BadMethodCallException: Call to undefined method Illuminate\Database\Query\Builder::save()

我可能遗漏了一些小东西。我怎样才能让它工作?

$post->user() returns 关系定义,不是相关对象。如果需要将user关联到post并保存,需要做如下操作:

$user = factory(App\User::class)->create();
$post = factory(App\Post::class)->create();
$post->user()->associate($user);
$post->save();