Ben*_*ird 43 php collections relationship laravel laravel-4
在laravel中,使用attach()或detach()来添加或删除关系中的某些内容后,该集合未更改.因此,如果我的模型的realation包含[1, 2],则在此之后:
$model->relation()->detach(1);
$model->relation()->attach(3);
Run Code Online (Sandbox Code Playgroud)
它仍将包含[1, 2]!我该如何刷新它?
Ben*_*ird 85
您可以使用一个命令轻松告诉laravel:
$model->load('relation');
Run Code Online (Sandbox Code Playgroud)
将告诉它刷新关系集合,$model->relation现在将显示正确的值.
要么只是unset它,让系统按需重新加载。
unset($model->relation)
Run Code Online (Sandbox Code Playgroud)
或者
$model->unsetRelation('relation');
Run Code Online (Sandbox Code Playgroud)
并根据要求加载。
小智 5
结论:这里有三个解决方案
$model->load('relation');
unset($model->relation);
$freshCollection = $user->roles()->get();`
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20671 次 |
| 最近记录: |