问题标签 [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.
php - 让所有表单验证错误显示在 symfony 的顶部?
我想我可能在这里遗漏了一些应该相对常见的东西。如何使所有表单验证错误(包括字段绑定错误)显示在表单顶部(全局)?
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) 这样的自定义设置器?
先感谢您
php - 如何从 Propel 的派生表中进行选择?
我正在为应用程序使用 Propel PHP 框架的 v1.3,但我找不到使用该Criteria
对象从派生表中进行选择的方法。我想要的部分 SQL 是:
实际的 SQL 比这更复杂,但这仅包括进一步的连接。
我尝试使用Criteria::addAlias()
,但不幸的是,它试图对表定义进行 SQL 转义。我最终放弃了尝试以这种方式编写 SQL,并创建了一个视图(unisoned_table
在此示例中调用)。
接下来我尝试向该表添加连接:
遗憾的是,这导致视图被连接了两次——一次作为内部连接qux
,一次作为交叉连接baz
。奇怪的是,如果我删除了baz
SELECT 列,那么交叉连接就会消失。
有人对我如何做到这一点有任何建议吗?我不能只使用自定义 SQL,因为这Criteria
可能需要修改(替换列、添加额外条件等)或在doCount()
调用中使用。
symfony1 - Symfony 使用 propel:build-all 时出现“无法获取 TableMap”错误
即使我删除了整个架构,清除缓存并删除 lib 文件夹中除“供应商”之外的所有内容,我仍然会收到错误消息。执行 propel:build-filters 或 propel:build-forms 时,我也会收到错误消息。
提前感谢您的帮助!
symfony1 - _model 在 symfony/propel 中代表什么?
我不时更改 schema.yml 并执行:
但是 lib/_model 和 lb/model 没有反映我的更改和原因:调用未定义的方法
php - 数据库命令在我的 PHP 脚本中快速运行,在 phpMyAdmin 中快速运行
我有一个非常大的 MySQL 数据库(大约 100 万个项目),并且正在对该数据库运行相当复杂的查询。我在 phpMyAdmin 中输入 SQL 命令大约需要 2 秒,但使用 PHP 代码生成相同的输出大约需要 1-2 分钟。
为什么会有这样的时差?如果这是一个执行不佳的查询,那么结果是否也需要很长时间才能出现在 phpMyAdmin 中?
php - 如何在没有 include_path 的虚拟主机上生成推进 ORM 对象?
我有一个开发服务器,上面有几个虚拟主机。每个人都需要能够运行以下命令: propel-gen ./ creole 该脚本执行一些对数据库进行逆向工程的 php ......但是需要包含它执行的 php 才能这样做。
php.ini 中没有设置 include_path,因为它对所有虚拟主机都是全局的。我需要 include_path 对于每个虚拟主机都是唯一的。
我怎样才能在命令行上进行这项工作?(注意:htaccess 不起作用,因为命令行不通过 apache)。
有没有其他方法可以解决这个问题?也许传递命令行参数来设置包含路径?也许在.bashrc 中设置一些东西?:(
PS - 该脚本在我的 Mac 上运行良好,它有一个硬编码的包含路径
php - Propel 如何确定用于命令行工具的数据库?
Propel 如何确定用于命令行工具的数据库(例如“propel:build-all”)?我正在设置两个环境(生产和登台),每个环境的数据库都不同。
是“propel.ini”还是“databases.yml”?如果是前者,symfony 会自动生成该文件吗?
我将不胜感激任何帮助。谢谢!
propel - 推进行锁批量更新问题
我使用Propel作为我的 ORM。
我需要对包含以下字段的表进行批量更新:
更新将接收一个数组Company
并将Assigne
d 字段设置为1
。
问题是可能同时发生 2 个批量更新。所以当这种情况发生时,我将不得不接受一个更新,并拒绝另一个。无论如何要锁定表以进行一批更新?还是有更好的解决方案?
propel - Propel:如何定义从 doUpdate 返回的“受影响的行”
在推进中有这个doUpdate函数,它将返回此查询受影响的行数。
问题是,如果不需要更新行(因为set
值已经与字段值相同),这些行会算作受影响的行吗?
举个例子,我有下表:
假设我编写了一个与以下查询等效的 ORM 函数:
结果会doUpdate
返回什么?它会返回 0(因为所有Books
列都已经Me
存在,因此不需要更新),还是会返回 2(因为有 2 行满足where
条件)?