/** * @param Product $product * @param array $data * * @return Product */ protected function update(Product $product, array $data) { $product->fill(array_except($data, array('id'))); if (count($product->getDirty()) < 1) { //only trigger timestamps to change when the product had some actual data that changed. $product->timestamps = false; } //set the product as a updated one, so we know it needs to stay online $product->update_queue = 1; $product->save(); return $product; }