/** * * @param Product $product * @return Product * @throws \Exception */ protected function deleteProduct(Product $product) { //need to make sure everything is deleted in gamma. //this will happen if we detach categories before deleting. $product->categories()->sync([]); if ($product->delete()) { $product->id = false; } return $product; }