【问题标题】:magento database sql not workingmagento数据库sql不工作
【发布时间】:2015-10-21 13:58:40
【问题描述】:

所以不知道为什么这个功能不起作用?我正在尝试从表中选择所有 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')                     
    );
  }

【问题讨论】:

    标签: php mysql oop magento zend-framework


    【解决方案1】:

    您的代码有几个问题:

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

    【讨论】:

    • 请同时插入所需的array关键字; ('value'=>$record['id']) 不是有效的 php
    • 不行还是不行,我在值括号前添加了单词数组。
    • 仍然没有抓取结果。
    • 如果你在循环中使用 var_dump $record,你会得到什么?另外,我假设您确实为 Envato_CustomConfig_Job 设置了连接器 - 否则您可能应该使用 core_read
    • 当我使用 core_read 时它工作正常....连接器是什么意思? @DouglasRadburn
    【解决方案2】:

    尝试使用核心读/写资源。改变

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

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

    【讨论】:

      猜你喜欢
      • 2021-02-25
      • 1970-01-01
      • 2014-10-18
      • 1970-01-01
      • 1970-01-01
      • 2017-07-20
      • 2023-03-04
      • 1970-01-01
      • 2012-03-15
      相关资源
      最近更新 更多