问题标签 [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/propel 进行增量更新
我想使用 Propel ORM 在 symfony 中执行这样的查询:
我知道 Propel API 可以让我为给定记录的列设置先前固定的值,但我绝对不想在发出更新查询之前先检索列值,因为存在并发访问。
请问,我怎么能做到这一点?
谢谢。
propel - 推动 ORM,包括标准中的 MAX
我正在使用 Propel ORM 编写查询
查询的形式为:
我做到了这一点:
任何人都知道如何使用 Propel 来执行此操作,以节省我编写 RAW SQL 的时间吗?
php - 将 Criteria 注入 sfPropelRoute 对象
我有一个Page
对象,其唯一性来自它的PageDomain
. 架构配置为使page
表包含一个page_domain_id
用于创建关系的字段。为了显示一个页面,我有一个executeShow
动作和一个自定义处理程序。我的路线如下所示:
举个例子,我可能有/audience/create
and /behavior/create
。我需要能够确定正在请求哪个页面。
自定义处理程序 ( doSelectByDomain
) 的目的是考虑domain_slug
并仅在其域也是正确的情况下检索/显示页面。但是,我发现,即使domain_slug
在操作的$request
参数中提供了一个参数,我也无法将其传递给我的自定义处理程序,以便将其考虑到检索的内容中。
我意识到我可以sfContext
直接从我的模型中访问该对象,但这充其量是不雅的,并且会破坏 MVC。如果真的没有更好的方法,我不害怕使用它,但似乎必须有。Symfony 提供了setListCriteria
一种列出路由的方法,但我找不到任何类似的对象路由。
帮助?谢谢。
orm - 使用 Propel ORM 的 UNION 查询
我正在尝试使用 Propel ORM 创建一个 UNION 查询,例如
有谁知道如何做到这一点?
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。有太多代码需要重新测试
php - 教义推进片段
我正在使用带有 SF (1.4) 的 Propel ORM。我正在写一个类,我需要将一个查询Doctrine查询重写为Propel:
任何人都可以帮助转换吗?
file-upload - symfony setPostValidator 和 sfValidatorFile
我正在通过一个问题来设置回调上的文件上传验证器。
我想实现这一点:
我有一个表单,用户可以在其中选择要上传的文件类型并上传文件。所以我想设置验证器来处理图像,以防他们选择“img”作为类型,如果他们选择“pdf”,则设置为 pdf。
此外,我想根据类型指定 mime 类型和路径以及 validFileClass。
我试过这个..但我无法让它工作
$this->validatorSchema->setPostValidator(
new sfValidatorCallback(array('callback' => array($this, 'validateUploadedFiles')))
);
功能:
我面临的问题是,此函数将 url 值作为数组接收,即使我更新了验证器模式,它也不会验证 url 并继续将其作为数组发送到对象保存方法。那么如何制作类似的东西
此函数内部的 url.validateFile()
php - 使用 propel 时出错,找不到 build-propel.xml
当尝试使用 propel-gen (propel v 1.4) 创建构建时,我得到:
[phing] 读取项目文件时出错 [包装:无法打开 /path/to/project/build-propel.xml 进行读取:]
我在推进文档中找不到对此文件的引用。
php - 使用 Propel ORM 保存和检索 blob
我正在将 Propel (1.4) 与 Symfony 1.31 (与 mySQL db) 一起使用。我想将保存/检索 BLOB (gzipped) 数据保存到数据库中/从数据库中保存
我的数据库模式是在 YML 中定义的。
假设架构如下所示:
我有以下问题
- 什么是类型:YML 中 BLOB 字段类型的值?
- 我可以使用普通的 getter setter 方法从 MrBlobby 对象获取/设置 blob 数据吗?
propel 文档在这里说需要调用 _toString() 方法,但不清楚这是否仍然适用于 Propel 1.4