如何在hasMany关系上管理同步

时间:2016-04-13 17:54:27

标签: laravel has-many

我有一个关系:用户有多条路线

因此,我在表单中显示路由,用户可以添加,删除和修改路由。

然后,他必须提交表格。

我想要的是一种将旧路线与新路线同步的方法。

我能做到:

foreach($routes as $route){
   ....
  $route->save();
}

但我不会管理已删除的路线。

所以,我不太喜欢这样做:删除所有,并重新创建所有

知道如何管理这种情况?

1 个答案:

答案 0 :(得分:-3)

你应该能够做到

$user->routes()->sync($routes);

如果您的用户模型中有路由方法

public function routes(){
   return $this->hasMany(Route::class);
}

https://laravel.com/docs/5.1/eloquent-relationships