Laravel使用其他列保存或更新多对多关系

时间:2015-04-26 01:30:51

标签: php laravel laravel-4.2

我在laravel中设置了多对多的关系,我希望保存用户设置。可以从许多用户设置设置,用户可以设置很多设置。

我在数据透视表中有一个名为“value”的附加字段,我希望保存用户设置的值。

嗯,我想要的是在特定用户和设置没有值时创建一个新条目。但如果已经存在价值,则应该更新。

这是我尝试过的:

$setting = Setting::find(1);
Auth::user()->settings()->save($setting,array('value' => 15));

只要我将值更改为其他值,它就会自动创建一个新条目。但我希望它能够更新。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

使用UpdateOrCreate方法。

$setting = Setting::find(1);
Auth::user()->settings()->updateOrCreate($setting,array('value' => 15));

Method Documentation