Php Joomla数据库以及如何提取数据

Php Joomla数据库以及如何提取数据,php,mysql,Php,Mysql,我有点黑了joomla组件,它在一张桌子上工作得很好,但我想有多张桌子,但我似乎无法从两张桌子上画出来。例如,一个表将包含文章信息,另一个表将包含与文章及其id相关的其他数据。关于如何从多个表中选择记录,有什么想法吗 使用JDatabaseQuery的联接方法,可以从多个相关表中选择记录。泛型连接方法有两个参数;连接类型包括内部、外部、左侧、右侧和连接条件。在下面的示例中,您会注意到,我们可以使用在编写本机SQL查询时通常使用的所有关键字,包括用于别名表的AS关键字和用于创建表之间关系的ON关键

我有点黑了joomla组件,它在一张桌子上工作得很好,但我想有多张桌子,但我似乎无法从两张桌子上画出来。例如,一个表将包含文章信息,另一个表将包含与文章及其id相关的其他数据。关于如何从多个表中选择记录,有什么想法吗

使用JDatabaseQuery的联接方法,可以从多个相关表中选择记录。泛型连接方法有两个参数;连接类型包括内部、外部、左侧、右侧和连接条件。在下面的示例中,您会注意到,我们可以使用在编写本机SQL查询时通常使用的所有关键字,包括用于别名表的AS关键字和用于创建表之间关系的ON关键字。还请注意,表别名用于引用表列的所有方法,即select、where、order

// 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.username', 'b.name')))
    ->from($db->quoteName('#__content', 'a'))
    ->join('INNER', $db->quoteName('#__users', 'b') . ' ON (' . $db->quoteName('a.created_by') . ' = ' . $db->quoteName('b.id') . ')')
    ->where($db->quoteName('b.username') . ' LIKE \'a%\'')
    ->order($db->quoteName('a.created') . ' DESC');

// 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();
即使使用创建组件,也必须手动执行此类操作。

使用Joomla的JDatabase API访问数据库。