如何用ORM实现FIFO?

时间:2015-08-17 00:51:16

标签: entity-framework hibernate activerecord doctrine fifo

我正在使用symfony开发网络POS。系统有效,但我担心数据库。我将产品数量存储为浮动,这是因为有些产品可以以0.3,0.2,0.99,1.69等数量出售。就像面包一样。当我保存销售时,我打电话给保存方法。该save方法使用foreach来遍历数组的详细信息,该详细信息是具有数量,价格和产品的实体,每个销售至少有一个细节。无论如何更新数量我只是这样做:

detail->getProduct()->setQty(detail->getProduct()->getQty - detail->getQty ) 

易于更新和删除销售。但它不支持FIFO或LIFO。

现在我想要支持FIFO和LIFO,我首先尝试创建一个股票实体,像这样

Stock{
var  productId ;
var cost;
var sell; 
var detail;
}

以及一个详细信息表:

Detail{
var  product[];
var  price;

}

和销售类,

Sell{
  var Details[];
  var total;
}

例如,出售3单位的x产品。我将寻找3个没有添加细节的Stock实体,如果是FIFO,它们的结果应该由id ASC订购。

但是对于像面包这样的产品,我不知道如何工作,我不能在数据库XD中拥有代表1公斤面包的1000个实体。

如何使用ORM实现FIFO?

0 个答案:

没有答案