/** * Updates the count for a specific model in the database * * @param int $count * @param \Magento\NewRelicReporting\Model\Counts $model * @param string $type * @return void */ protected function updateCount($count, \Magento\NewRelicReporting\Model\Counts $model, $type) { /** @var \Magento\NewRelicReporting\Model\ResourceModel\Counts\Collection $collection */ $collection = $this->countsCollectionFactory->create()->addFieldToFilter('type', ['eq' => $type])->addOrder('updated_at', 'DESC')->setPageSize(1); $latestUpdate = $collection->getFirstItem(); if (!$latestUpdate || $count != $latestUpdate->getCount()) { $model->setEntityId(null); $model->setType($type); $model->setCount($count); $model->setUpdatedAt($this->dateTime->formatDate(true)); $model->save(); } }