我使用 Joomla 2.5 框架。
我有简单的表格,例如:
int id
string itemid
现在我只想使用 JTable 将所有 'itemid' 加载到数组中。这里有可能吗?
我使用 Joomla 2.5 框架。
我有简单的表格,例如:
int id
string itemid
现在我只想使用 JTable 将所有 'itemid' 加载到数组中。这里有可能吗?
JTable 类的所有内容都只处理一行,一旦涉及到多行,您有两种选择:
1)使用您提供的解决方案。
2) 覆盖 Table 类中的 load() 函数。这可以如下完成:
将以下 load() 函数放入您的 Table 类中:
function load($key = null)
{
$db = $this->getDBO();
$query = $db->getQuery(true);
$query->select($key);
$query->from($this->getTableName());
$db->setQuery($query);
$row = $db->loadRowList();
if ($db->getErrorNum())
{
$this->setError($db->getErrorMsg());
return false;
}
// Check that we have a result.
if (empty($row))
{
return false;
}
//Return the array
return $row;
}
现在使用单个参数“itemid”调用 load() 函数,并获取所需的数组。
这对我有用,希望它对你也有帮助。
我决定使用的解决方案是从 JModelList 继承模型类:
class modelModelcomponent extends JModelList
{
protected function getListQuery()
{
// Create a new query object.
$db = JFactory::getDBO();
$query = $db->getQuery(true);
// Select some fields
$query->select('itemid');
// From the hello table
$query->from('#__table');
return $query;
}
}