所以不知道为什么这个功能不起作用?我试图从表格中选择所有ID,但没有选择任何内容。
public function jobsArray()
{
$connection = Mage::getSingleton('core/resource')->getConnection('Envato_CustomConfig_Job');
$result = $connection->fetchAll("SELECT id FROM Envato_CustomConfig_Job");
$rows = array();
foreach($result as $record) {
$rows = ('value'=>$record, 'label'=>$record);
}
return $rows;
}
下面这个函数工作正常,我需要上面的函数和下面的teh函数一样。
public function toOptionArray()
{
return array(
array('value'=>1, 'label'=>'one'),
array('value'=>2, 'label'=>'Two'),
array('value'=>3, 'label'=>'Three'),
array('value'=>4, 'label'=>'Four')
);
}
答案 0 :(得分:2)
您的代码存在一些问题:
您只选择了一个项目id
,但稍后我假设您正在使用ID和值。
$result = $connection->fetchAll("SELECT id FROM Envato_CustomConfig_Job");
record
是来自SQL查询的数组,所以你应该这样对待它。例如。 $record['id']
$rows
你想要作为一个数组,但每次都要覆盖它,所以$rows[] =
更有意义
类似的东西:
public function jobsArray()
{
$connection = Mage::getSingleton('core/resource')->getConnection('Envato_CustomConfig_Job');
$result = $connection->fetchAll("SELECT id, label FROM Envato_CustomConfig_Job");
$rows = array();
foreach($result as $record) {
$rows[] = array('value'=>$record['id'], 'label'=>$record['label']);
}
return $rows;
}
答案 1 :(得分:2)
尝试使用核心读/写资源。变化
$connection = Mage::getSingleton('core/resource')->getConnection('Envato_CustomConfig_Job');
要
$connection = Mage::getSingleton('core/resource')->getConnection('core_read');