3

我正在使用以下代码加载类别记录:

    $res = JTable::getInstance('category');
    $res->load(array('id' => $catid));

现在我想根据应该与 SQL LIKE 模式匹配的标题加载记录 - 是否可以使用 JTable 以简单的方式执行此操作,或者我需要 $dbo 吗?

4

1 回答 1

4

据我所知,JTable 很简单,一次只携带一个元素,并且通过主键。如果您真的想要更高级的东西,我建议您使用 JDatabaseQuery 方式。

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

// Reset the query using our newly populated query object.
$db->setQuery($query);

// Load the results as a list of stdClass objects.
$results = $db->loadObjectList();

在你的情况下,而不是“$db->loadObjectList();” 你可以使用“$db->loadObject();” 仅加载一项。


来源: http ://docs.joomla.org/Accessing_the_database_using_JDatabase/3.1

于 2013-06-03T19:28:19.090 回答