сводная таблица syncWithoutDetaching с дополнительным параметром - PullRequest
0 голосов
/ 31 марта 2020

Я создаю систему управления событиями, в которой к событиям может быть подключено несколько пользователей, отвечающих за разные типы вещей (два за звук, другие три источника света и т. Д. c ..), и я присоединяю этот тип в качестве дополнительного параметр моей сводной таблицы, например:

public function users() {
    return $this->belongsToMany('App\User')->withPivot('type')->withTimestamps();
}

Сводная таблица состоит из столбцов - тип, идентификатор_ события, идентификатор_пользователя

Код, который отвечает за заполнение сводной таблицы:

foreach ($types as $type) {
    $users = $request->input($type);

    if ($users!=null){
        foreach ($users as $user) {
            $event->users()->syncWithoutDetaching([ $user => ['type' => $type]]);
        }
    } 
}

Заполняет таблицу начальными значениями, но синхронизирует значения типа (отсоединяя старые), если один и тот же пользователь передан для того же события.

Например: If " Событие "Пользователь" Джон "отвечает за" Свет "и" Звук ", оно должно создать две строки в сводной таблице.

Также, если я изменю" syncWithoutDetaching "на" присоединить ", я получу поведение, которое мне нужно , но сохраняет те же строки, которые мне не нужны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...