0

大家好!

我正在尝试通过 Phalcon\Mvc\Model\Query\Builder 从 Oracle 数据库中获取数据,但结果集始终为空。

// APPLICATION_ROOT/app/models/Package.php
<?php

use Phalcon\MVC\Model;

class Package extends Model
{
    public function getSource()
    {
        return 'RADIO_PACKAGE';
    }
}

控制器类:

public function indexAction()
{
    $packages = Package::find();
    var_dump($packages->toArray()); // null

    $query = $this->modelsManager->createBuilder()->from('Package')->getQuery();
    var_dump($query->execute()->toArray()); // null

    // But the direct access to database returns rows
    $PDO = $this->getDI()->get('db')->getInternalHandler();
    var_dump($PDO->query('SELECT * FROM RADIO_PACKAGE')->fetchAll()); // returns 23 rows
}

有谁知道问题是什么?

我尝试了 Phalcon 1.1.0 和 1.2.0。

PDO_OCI 驱动程序已从 PHP 5.4.16 源安装。

PHP 版本是 5.4.11。

Oracle 版本为“Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit”

4

2 回答 2

1

在 1.2.0 分支中修复,关于问题的讨论:http: //forum.phalconphp.com/discussion/464/empty-resultset-when-using-phalcon-mvc-model-query-builder

于 2013-06-26T07:11:40.740 回答
0

您在 public/index.php 中有 Loader 的设置吗?就像是

$loader = new \Phalcon\Loader();
$loader->registerDirs(
    array(
        $config->application->controllersDir,
        $config->application->modelsDir,
                    $config->application->pluginsDir
    )
)->register();
于 2013-06-24T12:23:51.150 回答