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