我正在使用以下代码加载类别记录:
$res = JTable::getInstance('category');
$res->load(array('id' => $catid));
现在我想根据应该与 SQL LIKE 模式匹配的标题加载记录 - 是否可以使用 JTable 以简单的方式执行此操作,或者我需要 $dbo 吗?
据我所知,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