【发布时间】:2017-06-17 00:54:01
【问题描述】:
我在测试中有以下代码:
$post = factory(Post::class)->create();
$first_tag = factory(Tag::class)->create();
$second_tag = factory(Tag::class)->create();
$post->tags()->attach($first_tag);
$post->tags()->attach($second_tag);
$this->assertEquals(2, $post->tags->count());
直到一切正常,然后我在断言行下添加以下代码:
$post->tags()->detach($second_tag);
$this->assertEquals(1, $post->tags->count());
第二个断言失败,为了让它工作,我必须手动添加一行:
$post->tags()->detach($second_tag);
$post->load('tags');
$this->assertEquals(1, $post->tags->count());
我错过了什么吗?每次在 belongsToMany 关系中分离模型时,是否必须手动重新加载关系?不得不这样做真的很令人沮丧。这有什么原因吗?
【问题讨论】: