sourceCarrierLinkManagement = $sourceCarrierLinkManagement; } /** * @inheritdoc */ protected function _construct() { $this->_init(self::TABLE_NAME_SOURCE, SourceInterface::SOURCE_CODE); } /** * @inheritdoc */ public function load(AbstractModel $object, $value, $field = null) { parent::load($object, $value, $field); /** @var SourceInterface $object */ $this->sourceCarrierLinkManagement->loadCarrierLinksBySource($object); return $this; } /** * @inheritdoc */ public function save(AbstractModel $object) { $connection = $this->getConnection(); $connection->beginTransaction(); try { parent::save($object); /** @var SourceInterface $object */ $this->sourceCarrierLinkManagement->saveCarrierLinksBySource($object); $connection->commit(); } catch (Exception $e) { $connection->rollBack(); throw $e; } return $this; } }