Estou desenvolvendo uma API para um sistema de almoxarifado, e no método update eu preciso atualizar a quantidade do meu estoque/inventario (exemplo, a entrada tem 4 metros de madeira, na edição eu alterei para 3 metros, então eu removo do inventário 4 metros que seriam o valor anterior, e depois adiciono os 3 metros da edição), estou com dificuldade em como fazer para pegar este dado q foi inserido quando a minha entrada no inventario foi criado, uma parte do meu código:
public function update(EntradaUpdateFormRequest $request, $id)
{
$entrada = Entrada::findOrFail($id);
//tem bastante código nessa parte...
//e abaixo a lógica de mexer na tabela do inventario...
// lógica para atualizar ou adicionar a quantidade dos itens no inventario
$inventario = Inventario::where('departamento_id','=',$entrada->departamento_id)
->where('local_id','=',$entrada->local_id)
->where('item_id','=',$entrada_items["item_id"])
->first();
if ($inventario) {
$inventario->quantidade - //esse que é o maior obstáculo, acho que o esquema seria subtrair o total anterior, e aí acrescentar o total novo, porém como
//faço para mudar o valor que foi acrescentado quando este registro foi criado no metodo store.
$inventario->quantidade += $entrada_items["quantidade"];
$inventario->save();
} else {
$inventario = new Inventario();
$inventario->departamento_id = $entrada->departamento_id;
$inventario->item_id = $entrada_items["item_id"];
$inventario->local_id = $entrada->local_id;
$inventario->quantidade = $entrada_items["quantidade"];
$inventario->qtd_alerta = 0;
$inventario->save();
}