Magento数据库SQL不工作


magento database sql not working

所以不知道为什么这个函数不工作?我试图从表中选择所有的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;
      }

下面的函数工作得很好,我需要上面的函数和下面的函数做同样的事情。

  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')                     
    );
  }

您的代码有几个问题:

您只选择了一个项目(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;
}

尝试使用核心读写资源。把

$connection = Mage::getSingleton('core/resource')->getConnection('Envato_CustomConfig_Job');

$connection = Mage::getSingleton('core/resource')->getConnection('core_read');