问题标签 [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 投票
2 回答
1784 浏览

php - 使用 symfony/propel 进行增量更新

我想使用 Propel ORM 在 symfony 中执行这样的查询:

我知道 Propel API 可以让我为给定记录的列设置先前固定的值,但我绝对不想在发出更新查询之前先检索列值,因为存在并发访问。

请问,我怎么能做到这一点?

谢谢。

0 投票
4 回答
6221 浏览

propel - 推动 ORM,包括标准中的 MAX

我正在使用 Propel ORM 编写查询

查询的形式为:

我做到了这一点:

任何人都知道如何使用 Propel 来执行此操作,以节省我编写 RAW SQL 的时间吗?

0 投票
2 回答
326 浏览

php - 将 Criteria 注入 sfPropelRoute 对象

我有一个Page对象,其唯一性来自它的PageDomain. 架构配置为使page表包含一个page_domain_id用于创建关系的字段。为了显示一个页面,我有一个executeShow动作和一个自定义处理程序。我的路线如下所示:

举个例子,我可能有/audience/createand /behavior/create。我需要能够确定正在请求哪个页面。

自定义处理程序 ( doSelectByDomain) 的目的是考虑domain_slug并仅在其域也是正确的情况下检索/显示页面。但是,我发现,即使domain_slug在操作的$request参数中提供了一个参数,我也无法将其传递给我的自定义处理程序,以便将其考虑到检索的内容中。

我意识到我可以sfContext直接从我的模型中访问该对象,但这充其量是不雅的,并且会破坏 MVC。如果真的没有更好的方法,我不害怕使用它,但似乎必须有。Symfony 提供了setListCriteria一种列出路由的方法,但我找不到任何类似的对象路由。

帮助?谢谢。

0 投票
2 回答
4292 浏览

orm - 使用 Propel ORM 的 UNION 查询

我正在尝试使用 Propel ORM 创建一个 UNION 查询,例如

有谁知道如何做到这一点?

0 投票
10 回答
56175 浏览

php - PHP ORM:Doctrine vs. Propel

我正在使用symfony开始一个新项目,该项目很容易与DoctrinePropel集成,但我当然需要做出选择....我想知道那里更有经验的人是否有一般的优点和/或缺点这两个中的任何一个?

非常感谢。

编辑: 感谢所有的回复,有用的东西。这个问题没有真正正确的答案,所以我只会将获得最受欢迎投票的那个标记为已批准。

0 投票
2 回答
1016 浏览

php - 推进单表继承问题

我有一个名为“talk”的表,它在我的 schema.xml 文件中定义为抽象。

它生成 4 个对象(每个类键 1 个):Comment、Rating、Review、Checkin

它也生成了TalkPeer,但我无法让它生成其他4个对等点(CommentPeer、RatingPeer、ReviewPeer、CheckinPeer),所以我手动创建了它们,并让它们继承自从BaseTalkPeer继承的TalkPeer.php。然后我在每个对等点中实现了 getOMClass()。

问题是,当我使用 4 个对等方进行查询时,它们会返回所有 4 种类型的对象。也就是说,ReviewPeer 将返回访问、评级、评论和评论。

例子:

这将返回值 > 5 的所有评论、评分、评论和签到。

ReviewPeer 应该只返回 Review 对象,并且无法弄清楚如何执行此操作。

我是否真的必须通过并更改所有标准才能手动指定类键?这似乎有点毫无意义,因为 Peer 名称已经不同了。我不想自定义每个 Peer。我应该能够自定义TalkPeer,因为它们都继承自它......我只是不知道如何。

我尝试仅在 TalkPeer 中更改 doSelectStmt,以便它自动将 CLASSKEY 限制添加到 Criteria。它几乎可以工作,但我得到一个:致命错误:无法在第 503 行的 /models/om/BaseTalkPeer.php 中实例化抽象类 Talk。第 503 行在 BaseTalkPeer::populateObjects() 中,是下面的第 3 行:

文档谈到了覆盖 BaseTalkPeer::populateObject( ) 。我觉得这是我的问题,但即使在阅读了源代码之后,我仍然无法弄清楚如何让它工作。

这是我在 TalkPeer::doSelectStmt 中尝试过的:

以下是 ReviewPeer 中我的 getOMClass 方法的示例:

这是我的架构的相关位:

PS - 不,我不能从 1.3 升级到 1.4。有太多代码需要重新测试

0 投票
1 回答
257 浏览

php - 教义推进片段

我正在使用带有 SF (1.4) 的 Propel ORM。我正在写一个类,我需要将一个查询Doctrine查询重写为Propel:

任何人都可以帮助转换吗?

0 投票
1 回答
1899 浏览

file-upload - symfony setPostValidator 和 sfValidatorFile

我正在通过一个问题来设置回调上的文件上传验证器。

我想实现这一点:

我有一个表单,用户可以在其中选择要上传的文件类型并上传文件。所以我想设置验证器来处理图像,以防他们选择“img”作为类型,如果他们选择“pdf”,则设置为 pdf。

此外,我想根据类型指定 mime 类型和路径以及 validFileClass。

我试过这个..但我无法让它工作

$this->validatorSchema->setPostValidator( new sfValidatorCallback(array('callback' => array($this, 'validateUploadedFiles'))) );

功能:

我面临的问题是,此函数将 url 值作为数组接收,即使我更新了验证器模式,它也不会验证 url 并继续将其作为数组发送到对象保存方法。那么如何制作类似的东西

此函数内部的 url.validateFile()

0 投票
3 回答
1424 浏览

php - 使用 propel 时出错,找不到 build-propel.xml

当尝试使用 propel-gen (propel v 1.4) 创建构建时,我得到:

[phing] 读取项目文件时出错 [包装:无法打开 /path/to/project/build-propel.xml 进行读取:]

我在推进文档中找不到对此文件的引用。

0 投票
1 回答
1608 浏览

php - 使用 Propel ORM 保存和检索 blob

我正在将 Propel (1.4) 与 Symfony 1.31 (与 mySQL db) 一起使用。我想将保存/检索 BLOB (gzipped) 数据保存到数据库中/从数据库中保存

我的数据库模式是在 YML 中定义的。

假设架构如下所示:

我有以下问题

  1. 什么是类型:YML 中 BLOB 字段类型的值?
  2. 我可以使用普通的 getter setter 方法从 MrBlobby 对象获取/设置 blob 数据吗?

propel 文档在这里说需要调用 _toString() 方法,但不清楚这是否仍然适用于 Propel 1.4