问题标签 [propel]

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 投票
3 回答
6727 浏览

php - 让所有表单验证错误显示在 symfony 的顶部?

我想我可能在这里遗漏了一些应该相对常见的东西。如何使所有表单验证错误(包括字段绑定错误)显示在表单顶部(全局)?

0 投票
1 回答
866 浏览

php - 使用特定于 SQL 的东西推动自定义 Setter

我在 Symfony 1.0 项目中使用 Propel 1.2,带有 PostgreSQL 数据库。我可以在 SELECT 语句中使用 Criteria::CUSTOM 来使用 Postgres 函数,如下所示(全文搜索):

`$c = 新标准();

$c->add(MyTablePeer::FULLTEXT_COLUMN, MyTablePeer::FULLTEXT_COLUMN." @@ to_tsquery('english', '要搜索的文本')", Criteria::CUSTOM);`

选择记录没问题,但是 INSERTing 呢?我目前正在使用原始 SQL 查询,但我想以更优雅的方式进行。我在 Symfony 网站上看到了这个片段,但它有很多代码,不符合我的需要。性能非常重要,所以也许没有比编写原始 SQL 更好的解决方案了。

如何编写像 $object->setFulltextColumn($parameters) 这样的自定义设置器?

先感谢您

0 投票
1 回答
1164 浏览

php - 如何从 Propel 的派生表中进行选择?

我正在为应用程序使用 Propel PHP 框架的 v1.3,但我找不到使用该Criteria对象从派生表中进行选择的方法。我想要的部分 SQL 是:

实际的 SQL 比这更复杂,但这仅包括进一步的连接。

我尝试使用Criteria::addAlias(),但不幸的是,它试图对表定义进行 SQL 转义。我最终放弃了尝试以这种方式编写 SQL,并创建了一个视图(unisoned_table在此示例中调用)。

接下来我尝试向该表添加连接:

遗憾的是,这导致视图被连接了两次——一次作为内部连接qux,一次作为交叉连接baz。奇怪的是,如果我删除了bazSELECT 列,那么交叉连接就会消失。

有人对我如何做到这一点有任何建议吗?我不能只使用自定义 SQL,因为这Criteria可能需要修改(替换列、添加额外条件等)或在doCount()调用中使用。

0 投票
1 回答
1493 浏览

symfony1 - Symfony 使用 propel:build-all 时出现“无法获取 TableMap”错误

即使我删除了整个架构,清除缓存并删除 lib 文件夹中除“供应商”之外的所有内容,我仍然会收到错误消息。执行 propel:build-filters 或 propel:build-forms 时,我也会收到错误消息。

提前感谢您的帮助!

0 投票
2 回答
150 浏览

symfony1 - _model 在 symfony/propel 中代表什么?

我不时更改 schema.yml 并执行:

但是 lib/_model 和 lb/model 没有反映我的更改和原因:调用未定义的方法

0 投票
2 回答
271 浏览

php - 数据库命令在我的 PHP 脚本中快速运行,在 phpMyAdmin 中快速运行

我有一个非常大的 MySQL 数据库(大约 100 万个项目),并且正在对该数据库运行相当复杂的查询。我在 phpMyAdmin 中输入 SQL 命令大约需要 2 秒,但使用 PHP 代码生成相同的输出大约需要 1-2 分钟。

为什么会有这样的时差?如果这是一个执行不佳的查询,那么结果是否也需要很长时间才能出现在 phpMyAdmin 中?

0 投票
1 回答
308 浏览

php - 如何在没有 include_path 的虚拟主机上生成推进 ORM 对象?

我有一个开发服务器,上面有几个虚拟主机。每个人都需要能够运行以下命令: propel-gen ./ creole 该脚本执行一些对数据库进行逆向工程的 php ......但是需要包含它执行的 php 才能这样做。

php.ini 中没有设置 include_path,因为它对所有虚拟主机都是全局的。我需要 include_path 对于每个虚拟主机都是唯一的。

我怎样才能在命令行上进行这项工作?(注意:htaccess 不起作用,因为命令行不通过 apache)。

有没有其他方法可以解决这个问题?也许传递命令行参数来设置包含路径?也许在.bashrc 中设置一些东西?:(

PS - 该脚本在我的 Mac 上运行良好,它有一个硬编码的包含路径

0 投票
2 回答
553 浏览

php - Propel 如何确定用于命令行工具的数据库?

Propel 如何确定用于命令行工具的数据库(例如“propel:build-all”)?我正在设置两个环境(生产和登台),每个环境的数据库都不同。

是“propel.ini”还是“databases.yml”?如果是前者,symfony 会自动生成该文件吗?

我将不胜感激任何帮助。谢谢!

0 投票
1 回答
805 浏览

propel - 推进行锁批量更新问题

我使用Propel作为我的 ORM。

我需要对包含以下字段的表进行批量更新:

更新将接收一个数组Company并将Assigned 字段设置为1

问题是可能同时发生 2 个批量更新。所以当这种情况发生时,我将不得不接受一个更新,并拒绝另一个。无论如何要锁定表以进行一批更新?还是有更好的解决方案?

0 投票
2 回答
1607 浏览

propel - Propel:如何定义从 doUpdate 返回的“受影响的行”

在推进中有这个doUpdate函数,它将返回此查询受影响的行数。

问题是,如果不需要更新行(因为set值已经与字段值相同),这些行会算作受影响的行吗?

举个例子,我有下表:

假设我编写了一个与以下查询等效的 ORM 函数:

结果会doUpdate返回什么?它会返回 0(因为所有Books列都已经Me存在,因此不需要更新),还是会返回 2(因为有 2 行满足where条件)?