gpt4 book ai didi

php - Joomla 数据库以及如何提取数据

转载 作者:行者123 更新时间:2023-11-30 22:53:19 25 4
gpt4 key购买 nike

我有点破解了一个 joomla 组件,它适用于一张 table ,但我正在寻找不止一张 table ,但我似乎无法从 2 张 table 中提取它。即一张表将包含文章信息,另一张表将包含与文章及其 ID 相关的其他数据。关于我如何做到这一点的任何想法

最佳答案

从多个表中选择记录

使用 JDatabaseQuery 的连接方法,您可以从多个相关表中选择记录。通用的“join”方法有两个参数;连接“类型”(内、外、左、右)和连接条件。在下面的示例中,您会注意到我们可以使用在编写 native SQL 查询时通常会使用的所有关键字,包括用于别名表的 AS 关键字和用于创建表之间关系的 ON 关键字。另请注意,表别名用于所有引用表列的方法(即选择、位置、顺序)。

// 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();

即使您使用 Component Creator 创建组件您仍然需要手动执行此类操作。

关于php - Joomla 数据库以及如何提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27418132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com