2013-01-02 70 views
0

我試圖使用DISTINCT從我的數據庫中的列中獲取城市列表。在mySQL調用中使用DISTINCT的Joomla

function cityData() { 
    $db =& JFactory::getDBO(); 
    $query = "SELECT DISTINCT MSTCITY FROM " . $db->nameQuote('#__mls') . " ORDER BY MSTCITY;"; 
    $db->setQuery($query); 
    $tbl = $db->loadObjectList(); 
    return $tbl; 
} 

有什麼類似loadObjectList(),我可以使用?

回答

1

下面是版本2.5和3.x的修訂joomla資源頁面 Selecting data using JDatabase。另外你已經在使用loadObjectList因爲()函數這個問題,可以更好地問道

如何使用DISTINCT和JDatabase一起

This post具有由Janga_Jack一個很好的解決方案,但對於你的例子,這裏有一個Joomla 3.x的方式來完成你所需要的,它允許你使用便利的方法quote()q(),quoteName()qn(),特別是escape()e()

function cityData() { 
    $db =& JFactory::getDBO(); 
    $query = $db->getQuery(true); 

    $fieldlist = $db->qn(array('mls.MSTCITY')); // add the field names to an array 
    $fieldlist[0] = 'distinct ' . $fieldlist[0]; //prepend the distinct keyword to the first field name 

    $query->select($fieldlist); 
     ->from($db->qn('#__mls', 'mls')) 
     ->order($db->qn('mls.MSTCITY')); 

    $db->setQuery($query); 
    $tbl = $db->loadObjectList(); 
    return $tbl; 
}