У меня есть отношения многие ко многим в laravel, где я хочу сохранить пользовательские настройки. Настройка может быть установлена от многих пользователей, и пользователь может иметь много настроек.
У меня есть дополнительное поле с именем «значение» в сводной таблице, где я хочу сохранить значение, установленное пользователем.
Ну, я хочу создать новую запись, когда нет значения для конкретного пользователя и настроек. Но если значение уже есть, оно должно быть обновлено.
Вот что я попробовал:
$setting = Setting::find(1);
Auth::user()->settings()->save($setting,array('value' => 15));
Как только я меняю значение на что-то другое, оно автоматически создает новую запись. Но я бы хотел, чтобы оно было обновлено. Как мне этого добиться?
Используйте метод UpdateOrCreate.
$setting = Setting::find(1);
Auth::user()->settings()->updateOrCreate($setting,array('value' => 15));
Других решений пока нет …