RedBeanPHP\QueryWriter\AQueryWriter::queryRecordLink PHP Method

    public function queryRecordLink($sourceType, $destType, $sourceID, $destID)
    {
        list($sourceTable, $destTable, $linkTable, $sourceCol, $destCol) = $this->getRelationalTablesAndColumns($sourceType, $destType);
        $key = $this->getCacheKey(array($sourceType, $destType, $sourceID, $destID));
        if ($this->flagUseCache && ($cached = $this->getCached($linkTable, $key))) {
            return $cached;
        }
        $sqlFilterStr = '';
        if (count(self::$sqlFilters)) {
            $sqlFilterStr = $this->getSQLFilterSnippet($destType);
        }
        if ($sourceTable === $destTable) {
            $sql = "SELECT {$linkTable}.* {$sqlFilterStr} FROM {$linkTable}\n\t\t\t\tWHERE ( {$sourceCol} = ? AND {$destCol} = ? ) OR\n\t\t\t\t ( {$destCol} = ? AND {$sourceCol} = ? ) -- keep-cache";
            $row = $this->adapter->getRow($sql, array($sourceID, $destID, $sourceID, $destID));
        } else {
            $sql = "SELECT {$linkTable}.* {$sqlFilterStr} FROM {$linkTable}\n\t\t\t\tWHERE {$sourceCol} = ? AND {$destCol} = ? -- keep-cache";
            $row = $this->adapter->getRow($sql, array($sourceID, $destID));
        }
        $this->putResultInCache($linkTable, $key, $row);
        return $row;
    }