kphoen / propel-multiple-aggregate-column-behavior

该包已被弃用,不再维护。没有建议替代包。

允许在单个表上使用多个聚合列的 Propel 行为

1.0.0 2012-12-02 14:21 UTC

This package is auto-updated.

Last update: 2022-02-01 12:22:30 UTC


README

Build Status

此行为几乎是捆绑的 aggregate_column 行为的副本,增加了在单个表上允许多个聚合列的功能——这是现有行为无法实现的。

此行为旨在与原始的 aggregate_column 行为完全兼容。

状态

此项目已被废弃,不应使用。

如果有人神奇地出现并想要维护此项目,我将很高兴将访问权限授予此仓库。

与多个聚合一起工作

语法相当简单

<behavior name="multiple_aggregate_column">
    <parameter name="count" value="2" />

    <parameter name="name1" value="amount_total" />
    <parameter name="foreign_table1" value="invoice_item" />
    <parameter name="expression1" value="SUM(price)" />

    <parameter name="name2" value="amount_paid" />
    <parameter name="foreign_table2" value="invoice_payment" />
    <parameter name="expression2" value="SUM(amount)" />
    <parameter name="condition2" value="status = 1" />
</behavior>

如果您想定义多个聚合,则必须指定 count 参数。然后您将能够定义您想要的任何数量的聚合。

与单个聚合一起工作

但是,如果您只有一个聚合,则可以省略 count 参数,并且行为将识别与旧 aggregate_column 行为相同的语法

<behavior name="multiple_aggregate_column">
    <parameter name="name" value="amount_total" />
    <parameter name="foreign_table" value="invoice_item" />
    <parameter name="expression" value="SUM(price)" />
</behavior>

高级使用

有关更多信息,请参阅 官方 Aggregate Column 行为文档

致谢

  • Nathan Jacobson:此行为的原始作者。我以他的工作为基础,使其完全功能化并进行测试。

许可证

MIT,请参阅 LICENCE 文件。