如何在 laravel 中重新加载关系集合?

在 Laravel 中,在使用 或 在关系中添加或删除某些内容后,集合没有变化。因此,如果我有一个模型,其关系包含 ,在此之后:attach()detach()[1, 2]

$model->relation()->detach(1);
$model->relation()->attach(3);

它仍然会包含!如何刷新它?[1, 2]


答案 1

您可以轻松地告诉 laravel 使用单个命令加载关系:

$model->load('relation');

将告诉它刷新关系集合,现在将显示正确的值。$model->relation

卸载关系也是这样的:

$model->unsetRelation('relation')

答案 2

要么只是它,让系统按需重新加载。unset

unset($model->relation)

$model->unsetRelation('relation');

并让它根据要求加载。


推荐