Laravel/Lumen 5 обновляет сводную таблицу отношений многие ко многим

Я пытаюсь обновить сводную таблицу отношений многие ко многим в цикле foreach, но, к сожалению, получаю неожиданные результаты. Приведенный ниже код должен увеличивать счетчик только для записи, в которой выполняется условие, однако он увеличивает счетчик для всех записей в сводной таблице:

$question = Question::find($id);

$questions = $subcategory->questions()
  ->wherePivot('question_id', $id)
  ->wherePivotIn('option_id', $question->options->pluck('id'))
  ->get();

foreach ($questions as &$question) {
  $pivot = $question->pivot;
  if ($pivot->option_id == $request->option_id) $pivot->count += 1;
  $pivot->save();
}

Я что-то пропустил?

UPD

Моя структура таблицы отношений "многие ко многим"

subcategory_id | question_id | option_id | count
------------------------------------------------
             1 |           1 |         1 |     0
------------------------------------------------
             1 |           1 |         2 |     0

После выполнения кода выше с option_id = 1 учитывая, это становится

subcategory_id | question_id | option_id | count
------------------------------------------------
             1 |           1 |         1 |     1
------------------------------------------------
             1 |           1 |         2 |     1

Но должно быть

subcategory_id | question_id | option_id | count
------------------------------------------------
             1 |           1 |         1 |     1
------------------------------------------------
             1 |           1 |         2 |     0

0 ответов

Другие вопросы по тегам