我们想知道是否有人可以帮助我们查询有关Symfony2 / Doctrine2的信息。
我们将Oracle用作应用程序的数据库,并且已经开始尝试将Symfony 2和Doctrine用于新项目,以期摆脱Zend Framework 1的困扰-但是,我们遇到了一个小问题。大多数数据库交互都涉及调用过程,这些过程返回游标。不幸的是,我们目前在Doctrine中还没有找到一种使用游标的方法,就像使用Zend DB(自定义书面语句,游标和执行类来包装标准oci8功能)一样。
有没有人成功将游标与Doctrine结合使用,如果可以,他们会介意发布一些指针吗?这就是我们在oci8中实现它们的方式。但是,如果没有对连接资源属性的本机访问,我们必须在不扩展/创建一个新类的情况下使用此方法。
为了便于阅读,代码已被省略!
$oc = oci_connect($user,$pw,$tns);
$var = null;
$cur = null;
$stmt = "BEGIN schema.package.procedure(:var_in, :cur_out); END;";
$stid = oci_parse($oc, $stmt);
$cur = oci_new_cursor($oc);
oci_bind_by_name($stid, ':VAR_IN', $var);
oci_bind_by_name($stid, ': CUR_OUT', $cur, -1, OCI_B_CURSOR);
oci_execute($stid);
// Now treat the cursor as a statement resource
oci_execute($cur, OCI_DEFAULT);
oci_fetch_all($cur, $result, null, null, OCI_FETCHSTATEMENT_BY_ROW);
oci_free_statement($stid);
oci_close($oc);
//use $result for processing….
var_dump($result);
非常感谢
参考方案
我在OUT参数中发现了有关Doctrine2支持游标的零信息。
您可以从容器中获取连接资源,但不建议直接使用它。
// assuming you're in a controller
$this->get('database_connection')->getWrappedConnection();
对于Oracle连接,可以使用ZendDB。 Symfony2有一个不错的包装器:
https://packagist.org/packages/espend/zend-db-bundle
https://github.com/Haehnchen/ZendDbBundle
Symfony2:如何在config.yml中读取参数数组 - php我的parameters.yml文件具有:parameters: title: subtitle: value 我想将value传递给config.yml中的服务my_service: class: the_class arguments: [ %title.subtitle%] //didn't work arguments: [ %title[…
PHP getallheaders替代 - php我正在尝试从服务器上的apache切换到nginx。唯一的问题是我在PHP脚本中使用的getallheaders()函数,该函数不适用于Nginx。我已经尝试过用户在getallheaders函数上的php站点上提供的注释,但这并不返回所有请求标头。请告诉我如何解决这个问题。我真的想切换到Nginx。 参考方案 您仍然可以使用它,但是您必须像这里一样重新定义…
php Singleton类实例将在多个会话中保留吗? - php举一个简单的例子,如果我想计算一个不使用磁盘存储的脚本的命中次数,我可以使用静态类成员来执行此操作吗?用户1:<?php $test = Example::singleton(); $test->visits++; ?> 用户2:<?php $test = Example::singleton(); $test->visits+…
PHP:将字符串拆分为字母和数字部分的最佳方法 - php我有几个格式的字符串AA11 AAAAAA1111111 AA1111111 分离字符串的字母和数字部分的最佳方法(最有效)? 参考方案 如果它们都是一系列字母,然后是一系列数字,并且没有非字母数字字符,那么sscanf()可能比regexp更有效$example = 'AAA11111'; list($alpha,$numeric) =…
php-casperjs获取内部文本 - php我正在为casperjs使用php包装器-https://github.com/alwex/php-casperjs我正在网上自动化一些重复的工作,我需要访问一个项目的innerText,但是我尚不清楚如何从casperjs浏览器访问dom。我认为在js中我会var arr = document.querySelector('label.input…