2014-03-31 76 views
0

我想从RSEvents的joomla数据库中获取类别详细信息。任何人都可以解释为什么这不起作用:从Joomla数据库获取RS Eevents类别名称

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(); 
} 
+0

你在哪里调用函数?还要确保你在函数末尾返回一些东西 – Lodder

+0

oops忘了返回结果! 虽然没有帮助,但这是_getCategorySlug($ event-> id)返回的内容: '未知列'a'*'in'field list'SQL = SELECT'a'.'''''''''' .''''''' FROM'db_categories' as'a' INNER JOIN'db_rseventspro_taxonomy' as'b' ON('a'.'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''') '.'''' ='41'' – Bulletproof

回答

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(); 
} 
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表类的别名