问题标签 [dbal]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1906 浏览

doctrine-orm - 我应该使用 Connection::executeUpdate() 吗?

我使用 Doctrine DBAL v2.5.0,我想执行一个简单的更新语句。在文档中写道,我应该为此使用方法 executeUpdate() ( http://doctrine-dbal.readthedocs.org/en/latest/reference/data-retrieval-and-manipulation.html#executeupdate )。但是在源代码中这个方法有注解@internal。因此,我不确定是否应该从非库代码中使用此方法。我是不是该?

0 投票
1 回答
577 浏览

php - 如何在 symfony 中有学说 dbal?

出于某些原因,我不希望我的用户进行编辑/app/config/config.php以添加数据库凭据,但是在一个单独的文件中,他们将它们添加为一个数组,而我/app/config/config.php的是 PHP,而不是 YAML 或 XML,所以我怎么知道/app/config/config.php将数据库凭据作为来自另一个文件的数组?

我确实看过一个像这样工作的应用程序,我看到他们使用:

由于它没有记录在案,如果您澄清我如何按照我描述的方式执行此操作,我将不胜感激?

0 投票
0 回答
234 浏览

symfony - 如何在 Symfony 中进行高级学说配置?

阅读这些文档:

使用 Symfony 的 Doctrine DBAL 配置

使用 Symfony 的 Doctrine ORM 配置

Symfony 的教义配置

我创建了这个并添加到我生成的包的/src/MyBundle/Resources/config/services.php: 我的配置代码

但我得到了错误:

[Symfony\Component\DependencyInjection\Exception\LogicException] 容器扩展“学说”未注册

我还错过了什么?我可能必须补充一点,我没有删除 /app/config/config.yml 中的默认 orm/dbal 设置。我也不知道什么是'read'和'host'=>'from_user_config.db'是什么,我从第三方应用程序复制/粘贴,以及如何将单独文件中的db凭据注入到这个services.php中?

0 投票
1 回答
1172 浏览

symfony - 如何在 symfony 中拥有 DBAL 的 setSQLLogger

我能够通过这种方式连接到 symfony2 中的教义:

现在我的问题是如何在上面的配置中有这个?

$config->setSQLLogger(new Doctrine\DBAL\Logging\EchoSQLLogger());

我的意思是另一种方式。因为这是一个 $config 方法,我想应该可以在 config.yml 中使用它,但是如何呢?

0 投票
1 回答
369 浏览

php - DBAL:将额外的连接选项传递给 pdo_pgsql

如何使用 DBAL 传递额外的连接选项,如 connect_timeout、keepalives

它应该作为driverOptions或为明确支持而创建的拉取请求传递Doctrine\DBAL\Driver\PDOPgSql\Driver吗?

我尝试通过 via driverOptions => ['connect_timeout' => 1],但不确定这些设置是否有效。当我通过普通pdo_connect电话做到这一点时:

我知道至少应用了这些设置,因为如果我拼错任何这些额外参数,则会引发异常:

这个例外是我检查此设置是否已应用的方式。

如果我拼错了传递给 DBAL 的配置,我不会收到这样的错误。

0 投票
1 回答
2234 浏览

php - 更新或插入方法中的 Doctrine 2 DBAL 表达式

我喜欢在学说 2 DBAL 中数据操作查询 $conn->insert() 和 $conn->update() 的便捷方法,因为插入/更新值可以作为关联数组传递。但是我怎样才能将 NULL 值、MySQL 函数或其他表达式作为值传递呢?

例如:

这些函数调用将创建准备好的语句,例如

因此这些值将被视为字符串。有没有办法使用这种技术来完成这项工作?

0 投票
1 回答
110 浏览

php - 对象中的学说2内连接数据

所以我正在做两个内部连接:

这可行,但返回的结果是这样的:

有没有办法在对象中设置 pic1 和 pic2?我尝试将 setPic1/Pic2 添加到用户实体,但没有奏效。

我需要做什么才能使它在查询结果中起作用?

谢谢

0 投票
0 回答
349 浏览

symfony - PHPUnit 和自定义类型

这就是我的捆绑主文件的方式

所以你可能晚上我有一个自定义类型,我在boot()我的包操作期间注册了它。

现在,在我的测试中,我遇到了一些问题。一些测试需要使用静态函数setUpBeforeClass()tearDownAfterClass()因为我需要EntityManagerContainer. 在我的功能下方(对多个测试类通用)

现在,如果我运行多个使用static::$kernel->boot();某些测试的测试类,则由于 DBAL 异常声称该custom_date类型已注册而失败。

这对我来说很奇怪,因为parent::tearDown();功能是

并且static::$kernel->shutdown();

所以,对我来说,如果 bundle 被关闭了,那么即使是他的自定义类型也应该被取消注册。似乎他们没有。


我的解决方案

我修改boot()了函数以检查类型是否已注册

}


问题)

  1. 有谁知道为什么当捆绑被喊下来时 DBAL 类型没有被取消注册?
  2. 我的解决方案安全吗?是唯一的解决方案还是您认识其他人?
0 投票
1 回答
698 浏览

php - Doctrine DBAL - 事务和插入外部事务

您好,我有在事务中工作的服务,它与远程 API 通信,我想在这个 API 中记录每个请求/响应,但是如果主事务回滚,任何日志也将被回滚。

我认为是克隆 DBAL 连接。它会在没有事务的情况下打开第二个连接,我可以在其中插入而不用担心回滚吗?

还有其他方法可以解决这个问题吗?

0 投票
1 回答
3889 浏览

php - 在 Doctrine DBAL 中使用 executeQuery 绑定变量类型的问题

我正在寻找使用 Doctrine DBAL 函数 executeQuery 如下:

哪个工作正常返回:

但是,代码也可以使用以下行(其中类型参数声明不正确或根本未声明):

建议未使用声明绑定变量数据类型,这引起了人们对这是否受到 SQL 注入保护的担忧。

我在这里做错了吗?如何确保我的代码是安全的?