public function updateAssemblyItem($part, $quantity = 1, array $extra = [])
{
if ($this->isValidQuantity($quantity)) {
$id = $part;
if ($part instanceof Model) {
$id = $part->getKey();
}
$attributes = array_merge(['quantity' => $quantity], $extra);
if ($this->assemblies()->updateExistingPivot($id, $attributes)) {
$this->fireEvent('inventory.assembly.part-updated', ['item' => $this, 'part' => $part]);
$this->forgetCachedAssemblyItems();
return $this;
}
}
return false;
}