src/Attribute/TranslatedSelect.php
public function getTranslatedDataFor($arrIds, $strLangCode)
    {
        $objDB              = $this->getDatabase();
        $strTableNameId     = $this->getSelectSource();
        $strColNameId       = $this->getIdColumn();
        $strColNameLangCode = $this->getLanguageColumn();
        $strColNameWhere    = $this->getAdditionalWhere();
        $arrReturn          = [];

        if ($strTableNameId && $strColNameId) {
            $strMetaModelTableName   = $this->getMetaModel()->getTableName();
            $strMetaModelTableNameId = $strMetaModelTableName.'_id';

            // Using aliased join here to resolve issue #3 for normal select attributes
            // (SQL error for self referencing table).
            $objValue = $objDB->prepare(\sprintf(
                'SELECT sourceTable.*, %2$s.id AS %3$s
                FROM %1$s sourceTable
                LEFT JOIN %2$s
                    ON ((sourceTable.%7$s=?) AND (sourceTable.%4$s=%2$s.%5$s))
                WHERE %2$s.id IN (%6$s) %8$s',
                // @codingStandardsIgnoreStart - we want to keep the numbers at the end of the lines below.
                $strTableNameId,                                        // 1
                $strMetaModelTableName,                                 // 2
                $strMetaModelTableNameId,                               // 3
                $strColNameId,                                          // 4
                $this->getColName(),                                    // 5
                \implode(',', $arrIds),                                  // 6
                $strColNameLangCode,                                    // 7
                ($strColNameWhere ? ' AND ('.$strColNameWhere.')' : '') // 8
            // @codingStandardsIgnoreEnd
            ))
                ->execute($strLangCode);
            while ($objValue->next()) {
                $arrReturn[$objValue->$strMetaModelTableNameId] = $objValue->row();
            }
        }
        return $arrReturn;
    }
public function getTranslatedDataFor($arrIds, $strLangCode)
    {
        $objDB              = $this->getDatabase();
        $strTableNameId     = $this->getSelectSource();
        $strColNameId       = $this->getIdColumn();
        $strColNameLangCode = $this->getLanguageColumn();
        $strColNameWhere    = $this->getAdditionalWhere();
        $arrReturn          = [];

        if ($strTableNameId && $strColNameId) {
            $strMetaModelTableName   = $this->getMetaModel()->getTableName();
            $strMetaModelTableNameId = $strMetaModelTableName.'_id';

            // Using aliased join here to resolve issue #3 for normal select attributes
            // (SQL error for self referencing table).
            $objValue = $objDB->prepare(\sprintf(
                'SELECT sourceTable.*, %2$s.id AS %3$s
                FROM %1$s sourceTable
                LEFT JOIN %2$s
                    ON ((sourceTable.%7$s=?) AND (sourceTable.%4$s=%2$s.%5$s))
                WHERE %2$s.id IN (%6$s) %8$s',
                // @codingStandardsIgnoreStart - we want to keep the numbers at the end of the lines below.
                $strTableNameId,                                        // 1
                $strMetaModelTableName,                                 // 2
                $strMetaModelTableNameId,                               // 3
                $strColNameId,                                          // 4
                $this->getColName(),                                    // 5
                \implode(',', $arrIds),                                  // 6
                $strColNameLangCode,                                    // 7
                ($strColNameWhere ? ' AND ('.$strColNameWhere.')' : '') // 8
            // @codingStandardsIgnoreEnd
            ))
                ->execute($strLangCode);
            while ($objValue->next()) {
                $arrReturn[$objValue->$strMetaModelTableNameId] = $objValue->row();
            }
        }
        return $arrReturn;
    }
{@inheritdoc}