protected function _loadFromDb($sLoadId)
    {
        $sTable = $this->getViewName();
        $sShopId = $this->getShopId();
        $aParams = [$sTable . '.oxloadid' => $sLoadId, $sTable . '.oxshopid' => $sShopId];

        $sSelect = $this->buildSelectString($aParams);

        //Loads "credits" content object and its text (first available)
        if ($sLoadId == 'oxcredits') {
            // fetching column names
            $sColQ = "SHOW COLUMNS FROM oxcontents WHERE field LIKE  'oxcontent%'";
            $aCols = \OxidEsales\Eshop\Core\DatabaseProvider::getDb()->getAll($sColQ);

            // building subquery
            $sPattern = "IF ( %s != '', %s, %s ) ";
            $iCount = count($aCols) - 1;

            $sContQ = "SELECT {$sPattern}";
            foreach ($aCols as $iKey => $aCol) {
                $sContQ = sprintf($sContQ, $aCol[0], $aCol[0], $iCount != $iKey ? $sPattern : "''");
            }
            $sContQ .= " FROM oxcontents WHERE oxloadid = '{$sLoadId}' AND oxshopid = '{$sShopId}'";

            $sSelect = $this->buildSelectString($aParams);
            $sSelect = str_replace("`{$sTable}`.`oxcontent`", "( $sContQ ) as oxcontent", $sSelect);
        }

        $aData = \OxidEsales\Eshop\Core\DatabaseProvider::getDb(\OxidEsales\Eshop\Core\DatabaseProvider::FETCH_MODE_ASSOC)->getRow($sSelect);

        return $aData;
    }