Doctrine2-将数字另存为负值

问题描述 投票:0回答:1

我有一个保存发票的类-贷项和费用。我有两个ORM \ Entity类-ChargeCredit-使用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(...

php mysql symfony doctrine
1个回答
0
投票

只需修改Credit的getter和setter即可:

© www.soinside.com 2019 - 2024. All rights reserved.