/** * Validate unique configuration data before save * Set id to object if exists configuration instead of throw exception * * @SuppressWarnings(PHPMD.CamelCaseMethodName) * * @param \Magento\Framework\Model\AbstractModel $object The current configuration value being saved * * @return $this */ protected function _checkUnique(\Magento\Framework\Model\AbstractModel $object) { $select = $this->getConnection()->select()->from($this->getMainTable(), [$this->getIdFieldName()])->where('scope = :scope')->where('scope_code = :scope_code')->where('path = :path'); $bind = ['scope' => $object->getScope(), 'scope_code' => $object->getScopeCode(), 'path' => $object->getPath()]; $configId = $this->getConnection()->fetchOne($select, $bind); if ($configId) { $object->setId($configId); } return $this; }
/** * Validate unique configuration data before save * Set id to object if exists configuration instead of throw exception * * @param \Magento\Framework\Model\AbstractModel $object * @return $this */ protected function _checkUnique(\Magento\Framework\Model\AbstractModel $object) { $select = $this->_getReadAdapter()->select()->from($this->getMainTable(), array($this->getIdFieldName()))->where('scope = :scope')->where('scope_id = :scope_id')->where('path = :path'); $bind = array('scope' => $object->getScope(), 'scope_id' => $object->getScopeId(), 'path' => $object->getPath()); $configId = $this->_getReadAdapter()->fetchOne($select, $bind); if ($configId) { $object->setId($configId); } return $this; }
/** * after save callback * * @param \Magento\Framework\Model\AbstractModel|\Mageplaza\Blog\Model\Category $object * @return $this */ protected function _afterSave(\Magento\Framework\Model\AbstractModel $object) { /** @var \Mageplaza\Blog\Model\Category $object */ if (substr($object->getPath(), -1) == '/') { $object->setPath($object->getPath() . $object->getId()); $this->savePath($object); } $this->savePostRelation($object); return parent::_afterSave($object); }