我有一个保存发票的类-贷项和费用。我有两个ORM \ Entity类-Charge
和Credit
-使用ORM\DiscriminatorMap
]存储在同一表中
/** * @ORM\Table(name="transaction") * @ORM\InheritanceType("SINGLE_TABLE") * @ORM\DiscriminatorColumn(name="type", type="string") * @ORM\DiscriminatorMap({ * "charge" = "Charge", * "credit" = "Credit" * }) */ abstract class Transaction { /** * @ORM\Column(type="decimal") */ private $value; }
我希望将费用以正数形式存储在表中,并将贷项以负数形式存储在表中,以便我可以轻松地编写SQL聚合函数来获取帐户的SUM,该功能将考虑费用和贷项,而无需任何工作。
但是,我希望$ credit-> setValue()接收正数,而$ credit-> getValue()返回正数,这样在应用程序端使用起来会更容易。简而言之,我只希望在存储
数据时获得负值,而在工作中获得所有正值。仅当写入数据库时(如何在读取时还原),我该如何将其值转换为负值(对于学分)?这是不好的做法吗?任何更好的解决方案都欢迎。
我有一个保存发票的类-贷项和费用。我有两个ORM \ Entity类-Charge和Credit-使用ORM \ DiscriminatorMap / ** * @ORM \ Table(...
只需修改Credit
的getter和setter即可: