问题标签 [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 回答
7220 浏览

symfony - mysql tinyint(2) 的错误映射为 boolean 与学说

我使用 symfony2 对我的数据库进行了逆向工程,并使用命令对我的数据库进行了逆向工程:

但是我的字段被映射为布尔值而不是 tinyint(2)。

为什么它映射为布尔值?

0 投票
0 回答
1096 浏览

php - Doctrine2 查询验证和错误处理

我想使用DBALException执行验证而不是显式检查条件。

例如,使用“删除限制”删除其子记录持有引用的父记录将违反完整性约束。这是当前在 MYSQL 中使用 Doctrine2 DBAL 和 mysql pdo 驱动程序。

我希望能够捕获 DBALException(到目前为止已成功)并立即确定发生了什么。

我不是要代码解决方案,而是要处理和规范化错误的学说的选项或扩展,一个简单的例子是:

这是使用 PDOException 和 SQLSTATE 错误代码来大致了解问题,但它不够具体,虽然它符合 ODBC,但不能保证适用于每个数据库。

我需要这个的原因是我不能为每个删除过程中的每个实体存在或将来存在的每个可能的引用编写验证代码。

自行关闭:

意识到这是错误的验证方式,不要在测试环境之外使用这个概念。

0 投票
1 回答
7814 浏览

php - 对象关系映射与数据库抽象层

我正在使用同时提供 ORM 和 DBAL 的 Doctrine。

它们之间有什么区别?

应该如何决定何时使用哪个?

0 投票
1 回答
2253 浏览

mysql - Symfony 2 控制台命令用于创建自定义数据库

我正在开发一个 Symfony 2 项目,每个用户都有自己的数据库。在我的 config.yml 文件中,我为客户端设置了一个学说:dbal:orm,但没有连接属性,因为它们是在运行时设置并被所有用户引用。即我只有一个默认的 dbal 连接和两个 orm 连接,并且用户数量是无限的。

这工作正常,但我需要在用户注册时创建数据库和模式(FOS UserBundle)。在扩展的 userbundle 控制器中,我可以放置自己的逻辑。问题是我无法运行 'php app/console dictionary:database:create',因为没有为新用户设置参数。

有没有办法为控制台命令指定自定义数据库参数?我可能可以通过一些非常丑陋的 mysql 命令来解决这个问题,但我宁愿不这样做。提前谢谢了!

0 投票
2 回答
794 浏览

php - Doctrine DBAL 和 Oracle 关键字

我在没有 ORM 的情况下独立使用 DBAL,因为我不需要它。但是,我现在在查询中使用 oracle 关键字时遇到了一些问题。例如我有以下代码:

这不起作用,我收到以下错误:

我认为这是因为使用了序列。用整数替换数组中的第一项后,出现以下错误:

这次我认为是因为 CURRENT_TIMESTAMP 关键字。

我认为在传递查询关键字时最后会转换为字符串并且它不起作用。有没有办法使用序列或其他关键字而不使用像 ORM 这样的额外东西?

对于序列,我认为我可以在获取 nextval 之前运行另一个请求。但是,对于 CURRENT_TIMESTAMP,我真的不想使用 php 日期时间,因为我的日期是分时的,它会为 oracle 完美处理的函数添加太多额外代码。

我的最后一个解决方案是将完整的查询编写为字符串并使用 $db->query(...) 但这不是抽象层的目标。

非常感谢你的帮助。

0 投票
1 回答
372 浏览

symfony - Symfony2:我可以在 $variable 是字符串的地方使用 find($variable) 吗?

由于我的代码中的一行,引发了异常:

where$acadDeleg是我从数据源中检索的字符串。

一般官方文档使用find($id)where $idis a number(整数)。为此,我问是否可以使用字符串。问题是我有一个表,我必须从中获取一个值,然后与另一个表进行比较,这样我就可以创建一个对象。

作为记录,$acadDelegAcademieEntity的主键

编辑 :

异常消息:

学院定义:

刘定义:

0 投票
1 回答
1185 浏览

database - 使用 Doctrine DBAL 获取列的长度

我正在使用 Doctrine DBAL 项目来获取下表中列的长度(在这种情况下,整数的长度为 8)。我不使用 ORM,也没有在 YML 或任何东西中定义架构。

在寻找答案时,我注意到根据参数类型,似乎有几个属性可以提供一些有用的信息;长度、精度和规模。以下代码列出了一些列属性,但没有列出我正在寻找的 8 的长度。让我感到非常惊讶的是,很难找到这个常见的列属性。

0 投票
4 回答
7585 浏览

php - 使用 Doctrine DBAL 的准备好的语句中的字符串列表

按照 Doctrine DBAL 文档,我应该能够绑定一个字符串值列表,如下所示:

这会导致 PHP 通知并终止我的脚本。

我做错什么了吗?

0 投票
1 回答
214 浏览

symfony - 像 symfony 2 中的一束一样的服务

我正在尝试创建一个模型类(它将使用 DBAL),并且我想像我的捆绑包中的服务一样使用它。

我试图在我的包中创建一个具有此配置的服务:

但事实是我不想在 app/config/config.yml 中配置此服务,因为它只会在一个包中使用。

有什么方法可以创建特定的捆绑服务,并将@database_connection 参数提供给类?还是我被迫为我的所有应用程序配置它?

我的目标只是为我的控制器和我的模型提供不同的类,而不使用 Doctrine ORM/Entity,只使用 DBAL。

0 投票
1 回答
766 浏览

mysql - 使用教义 2 在 Postgres 中选择模式配置

我有一个复杂的问题,希望你能帮助我。

我在我的应用程序中使用 Doctrine DBAL,因为我想让它在 Postgres 和 Mysql 中工作。

问题是我想切换我拥有的 5 个模式。

例如我会做这件事:

  1. 操作 1 --> 选择模式 1

  2. 操作 2 --> 发出这样的 SQL 请求:“SELECT * FROM users”

  3. 操作 3 --> 选择模式 2

  4. 操作 4 --> 发出另一个 SQL 请求,如“SELECT * FROM users”

我不想做的事情:

  1. 操作 1 --> 发出这样的 SQL 请求:“SELECT * FROM schema1.users”

  2. 操作 2 --> 发出类似“SELECT * FROM schema2.users”的其他 SQL 请求

我试过的(但不工作=S):

有谁知道我该如何解决我的问题?如果您能给我一些帮助,我将不胜感激。

谢谢你。

冰箱