Как использовать синхронизацию в сводной таблице с 3 столбцами? - PullRequest
0 голосов
/ 01 июня 2019
Pivot: team_member
team_id  |  member_id  |  status  |
-----------------------------------
   1     |      1      |    1     |
   1     |      2      |    1     |
   2     |      3      |    1     |
   3     |      4      |    1     |

Как обновить последнюю запись до статуса 0 с помощью функции синхронизации?

$team = Team::find(3);
$member_ids = [4];
$status = 0;

$team->members()->sync($member_ids, ['status' => 0]);

Синхронизация не работает, если team_id и member_id совпадают с существующими.

Модель команды

   public function members() {
        return $this->belongsToMany(Member::class, 'team_member', 'team_id', 'member_id')->withPivot('status');
    }

1 Ответ

0 голосов
/ 01 июня 2019

Попробуйте использовать это:

Обновление записи в сводной таблице

Если вам нужно обновить существующую строку в сводной таблице, вы можете использовать метод updateExistingPivot.Этот метод принимает внешний ключ сводной записи и массив атрибутов для обновления:

$team->members()->updateExistingPivot($memberId, ['status' => 0]);

источник

С уважением

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