从Joomla数组中提取数据时遇到问题


Having trouble pulling data from Joomla array

我正试图从下面的loadResultArray调用中提取值:

$query = 'SELECT cb_featuredvideo FROM #__comprofiler WHERE user_id = '.$id.'';
// Reset the query using our newly populated query object.
$db->setQuery($query);
$youtube = $db->loadResultArray();
$link = $youtube[0];
// Load the results as a list of stdClass objects.
$results = $db->loadObjectList();

问题是,当我检查$link的值时,它显示为null。如果我从$results打印数组,我会得到预期的输出:

Array ( [0] => stdClass Object ( [cb_featuredvideo] => http://youtu.be/ytJCZnG3k9k ) ) 

为什么$link值没有显示youtube链接?

loadResult()怎么样?

根据http://docs.joomla.org/Selecting_data_using_JDatabase:

当您只希望从数据库查询返回一个值时,请使用loadResult()

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('field_name');
$query->from($db->quoteName('#__my_table'));
$query->where($db->quoteName('some_name')." = ".$db->quote($some_value));
$db->setQuery($query);
$result = $db->loadResult();

您可以尝试

$youtube = $db->loadObjectList();

而不是

$youtube = $db->loadResultArray();

有关更多详细信息,请参阅http://docs.joomla.org/Selecting_data_using_JDatabase

$results是一个对象数组。所以你可能想试试

$link = $results[0]->cb_featuredvideo;