从Joomla数据库获取RS Eevents类别名称

时间:2014-03-31 21:47:07

标签: php joomla

我正在尝试从RSEvents的joomla数据库中获取类别详细信息。任何人都可以解释为什么这不起作用:

function _getCategorySlug($value) {
    // Get a db connection.
    $db = JFactory::getDbo();    
    // Create a new query object.
    $query = $db->getQuery(true);    
    // Select all articles for users who have a username which starts with 'a'.
    // Order it by the created date.
    // Note by putting 'a' as a second parameter will generate `#__content` AS `a`
    $query
        ->select($db->quoteName(array('a.*', 'b.id', 'b.ide')))
        ->from($db->quoteName('#__categories', 'a'))
        ->join('INNER', $db->quoteName('#__rseventspro_taxonomy', 'b') 
        . ' ON (' . $db->quoteName('a.id') . ' = ' . $db->quoteName('b.id') . ')')
        ->where($db->quoteName('b.ide') . ' = '.$db->quote($value));     
    // Reset the query using our newly populated query object.
    $db->setQuery($query);   
    // Load the results as a list of stdClass objects (see later for more options on retrieving data).
    $results = $db->loadObjectList();
}

2 个答案:

答案 0 :(得分:0)

我认为这可能会对你有所帮助。使用以下功能,您可以获取特定事件的类别。

public function getCategories($id) {
    $db = JFactory::getDbo();
    $query = $db->getQuery(true);

    $query->clear()
        ->select($db->qn('id'))
        ->from($db->qn('#__rseventspro_taxonomy'))
        ->where($db->qn('type').' = '.$db->q('category'))
        ->where($db->qn('ide').' = '.$id);

    $db->setQuery($query);
    return $db->loadColumn();
}

答案 1 :(得分:0)

谢谢!这是一个很大的帮助,让我到我需要的地方(稍加调整):

function getCategories($id) {
    $db = JFactory::getDbo();
    $query = $db->getQuery(true);

    $query->clear()
        ->select($db->qn('id'))
        ->from($db->qn('#__rseventspro_taxonomy'))
        ->where($db->qn('type').' = '.$db->q('category'))
        ->where($db->qn('ide').' = '.$id);
    $db->setQuery($query);
    $categories = $db->loadColumn();
    return implode("_", $categories);
}

另外,很高兴找出原始查询的错误,从#__categories表中获取类别的别名