Propel 2.0禁用或修改复数

时间:2017-03-29 22:04:44

标签: php orm propel

使用Propel ORM 2.0 Propel \ Runtime \ Collection \ ObjectCollection-> toJSON()返回一个json字符串,其中第一个元素的键是模型的php名称的复数版本。

问题在于我正在使用现有项目,其中公约已经使用复数形式。因此,对于模型"用户"第一个元素将被返回为"用户" (额外的')。

例如,这里是返回内容的第一位:

"{"Userss":[{"Id":"123",...}]}"

我已尝试修改propel.ext文件中的propel.generator.objectModel.pluralizerClass,如文档中所述(http://propelorm.org/documentation/reference/configuration-file.html)这似乎对生成的内容没有任何影响配置也不会改变行为。

我已经打断了StandardEnglishPluralizer代码中的代码,无论在配置中设置什么,StandardEnglishPluralizer始终是使用的。

是否有某种方法可以禁用复数或创建一个不复数的复数形式并将其用于它?

1 个答案:

答案 0 :(得分:1)

使用Propel2,您可以创建和使用自己的复数形式,如果您愿意,可以使所有复数方法看起来都是单数。但是,这会导致歧义。例如,如果您的模型具有名为getUsers的方法,则您将不知道(没有其他信息)该方法是返回集合还是单个实体。

然而,简单的方法是简单地将表元素的phpName属性设置为" User"对于"用户" schema.xml中的表。